首页 > 解决方案 > 在甜甜圈图中调用 fontSize 函数(打字稿)

问题描述

我正在尝试调用 fontSize 中的函数以动态获取值

我已经编写了这段代码,但它没有获得价值。

var myDoughnutChart = new Chart(ctx, {
    fontSize: function() {
      if (this.width <= 768) {
        return 10;
      } else {
        return 13;
      }
    },
  }
}

标签: angularresponsive-designchart.js

解决方案


您在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

我知道一开始这听起来可能让人不知所措,但这是最安全的方法。


推荐阅读