Tôi đang chuyển đổi một số mã Javascript thành Typecript. Đây là một chức năng Javascript thú vị sử dụng d3 và kết thúc tốt đẹp một khối văn bản svg hoàn hảo. Thông thường tôi sẽ chỉ thay đổi từ "function" thành "private" và hàm sẽ hoạt động như trong Typescript, nhưng cái này chỉ phàn nàn về hàm getComputedTextLength(). Sẽ là tuyệt vời nếu ai đó có thể giải thích làm thế nào tôi có thể làm cho chức năng này làm việc trong Typescript cho bản thân mình và những người khác, bao gồm cả lý do tại sao tôi nhận được lỗi. Visual Studio không hỗ trợ. Cảm ơn.Chuyển đổi chức năng Javascript thành Typecript bao gồm getComputedTextLength()
function wrap(text, width) {
text.each(function() {
var text = d3.select(this),
words = text.text().split(/\s+/).reverse(),
word,
line = [],
lineNumber = 0,
lineHeight = 1.1, // ems
y = text.attr("y"),
x = text.attr("x"),
dy = parseFloat(text.attr("dy")),
tspan = text.text(null).append("tspan")
.attr("x", x).attr("y", y).attr("dy", dy + "em");
while (word = words.pop()) {
line.push(word);
tspan.text(line.join(" "));
if (tspan.node().getComputedTextLength() > width) {
line.pop();
tspan.text(line.join(" "));
line = [word];
tspan = text.append("tspan")
.attr("x", x).attr("y", y)
.attr("dy", ++lineNumber * lineHeight + dy + "em")
.text(word);
}
}
});
}
Và mô tả lỗi là gì? – Buzinas
Thuộc tính 'getComputedTextLength' không tồn tại trên loại 'Element' – blissweb
Mã này là từ Mike Bostock https://bl.ocks.org/mbostock/7555321 – 0x4a6f4672