2 回答
TA贡献1872条经验 获得超3个赞
首先,如果直接在 HTML 中使用父数据,那么它会立即使用 Angular 的 $watch 反映出来。
但是在这里,您希望更改反映在组件的this.data变量中。您必须听取更改,然后更新 this.data。
$onChanges(changes) {
if (changes.activeUsers&& changes.activeUsers.currentValue) {
// update your code here
// i don't know where totalusers are comigng in below but you just figure out.
const inactiveUsers = (totalUsers - changes.activeUsers.currentValue) || 0;
this.data = [
{name: "Active users", y: changes.activeUsers.currentValue},
{name: "Inactive users", y: inactiveUsers}
];
}
}
我建议尝试重用代码。从构造函数和make方法中取出代码来设置以总用户和活动用户为参数的数据并制作数据。相同的方法应该从 $onChanges 钩子和 changes.activeUsers.currentValue 中调用。所以代码会很干净
谢谢
添加回答
举报