我正在尝试调用fontSize中的函数以动态获取值
我已经编写了这段代码,但是并没有获取价值。
var myDoughnutChart = new Chart(ctx, {
fontSize: function() {
if (this.width <= 768) {
return 10;
} else {
return 13;
}
},
}
}
答案 0 :(得分:1)
您在回调函数中使用this
,这将重置this
的范围。
要使用正确的作用域,请将其更改为数组函数。像这样:
var myDoughnutChart = new Chart(ctx, {
fontSize: () => {
if (this.width <= 768) {
return 10;
} else {
return 13;
}
},
}
}
实际上不建议直接访问window
对象,因为window
是基于浏览器的API,并且您的应用程序可能可以在Angular Universal上运行(在不久的将来可能会)可能无法访问基于浏览器的API,例如window
。
请考虑遵循Brian Love在本文中建议的这种模式:Angular Window Provider
我知道一开始听起来可能有些不知所措,但这是最安全的方法。