我有一个正在修改变量的作用域:
$scope.showContext = function(context) {
$scope.currentContext = context;
....
}
我在页面上有一个指令:
<div org-chart workflow="currentContext" />
我有一个指令:
var OrgChartDirective = function($timeout) {
return {
restrict : 'AE',
scope : {
workflow : '=',
},
link : function(scope, element, attrs) {
if (scope.workflow != null) {
console.log("**________________________________**");
console.log(scope);
} else {
alert("Workflow is null");
}
....
当我加载页面时,我收到工作流为空的警报。
当我运行更新 $scope.currentContext
的作用域函数时,没有其他事情发生。应该再次调用,对吗?
编辑后说:我在页面上有这个,它确实表明在我调用作用域方法后变量被设置:
block 引用>Workflow----> {{currentContext.workflow}}
最佳答案
您必须观察/观察链接函数中的属性更改,如下所示:
attrs.$watch('workflow', function() {
//do whatever logic you want
});
在此处了解有关观察者和观察者以及如何使用它们的更多信息: Ben naddal tutorial on observers and watchers
关于javascript - 更新范围时不会调用 Angular 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35243279/