我有一个指令,它从它的父控制器获取一个值。
<hack-chart-controls counttime="vm.countInMinutes"></hack-chart-controls>
在指令中,有一些scope
值用于创建图表
scope.averageVbcCountPosition = { value: scope.counttime };
scope.averagePayPosition = { value: 12 };
scope.storeCountPosition = { value: 5 };
这些值用于传递给另一个子指令
<hack-annual-expenses-chart hack-employee-hourly-rate="averagePayPosition.value"
hack-vbc-average-count-time="vbcCountTime.value"
hack-average-count-time="averageCountPosition.value"
hack-stores="storeCountPosition.value"
hack-store-daily-balances="dailyBalancesCountPosition.value"
hack-years="savingsProjectionPosition.value">
正如您所看到的,其中一个取决于传入的变量。我正在使用scope.$watch
来观察变量何时发生变化
scope.$watch('counttime', function(value) {
scope.counttime = value;
});
从this link成功更新为有用,但图表不会更新。
我尝试了scope.$apply()
并收到错误$digest() is already in progress
错误。我错过了什么?如何让指令基本上重新渲染图表?