Angularjs 更新配置后刷新指令
当我传递给指令的一个值被更新后,我对如何“重画”指令感到有点困惑 我有一个指令,它根据作为范围参数传递给它的配置(JSON)绘制图表。在包含指令的视图的控制器中,我可以更新此配置,并且我希望在用户更新新配置时更新该指令 配置JSON如下所示:Angularjs 更新配置后刷新指令,angularjs,json,angularjs-directive,Angularjs,Json,Angularjs Directive,当我传递给指令的一个值被更新后,我对如何“重画”指令感到有点困惑 我有一个指令,它根据作为范围参数传递给它的配置(JSON)绘制图表。在包含指令的视图的控制器中,我可以更新此配置,并且我希望在用户更新新配置时更新该指令 配置JSON如下所示: $scope.configuration = { widget: { range: { maximum: 0, minimum: -20 } } } <
$scope.configuration = {
widget: {
range: {
maximum: 0,
minimum: -20
}
}
}
<my-chart configuration configuration="configuration"></my-chart>
该指令如下所示:
$scope.configuration = {
widget: {
range: {
maximum: 0,
minimum: -20
}
}
}
<my-chart configuration configuration="configuration"></my-chart>
因此,当我更新配置时,我希望指令刷新内容(如再次初始化内容)。必须使用$scope.$watch或$scope.$watchCollection()。这是你的电话号码 您的代码可以是这样的
$scope.$watchCollection('$scope.configuration.widget.range', function reInit(values){
init(values)
});
$watchCollection(obj,listener);浅表观察一个
对象,并在任何属性更改时激发(对于数组,
这意味着观察数组项;对于对象映射,这意味着
查看属性)。如果检测到更改,则侦听器
回调被触发
您必须使用$scope.$watch或$scope.$watchCollection()。这是你的电话号码 您的代码可以是这样的
$scope.$watchCollection('$scope.configuration.widget.range', function reInit(values){
init(values)
});
$watchCollection(obj,listener);浅表观察一个
对象,并在任何属性更改时激发(对于数组,
这意味着观察数组项;对于对象映射,这意味着
查看属性)。如果检测到更改,则侦听器
回调被触发