我需要一个带有本地范围的指令,本地范围将按以下方式更新:
var update;
angular.module('docsTransclusionExample', [])
.directive('myDialog', function() {
return {
restrict: 'E',
scope: {},
templateUrl: 'my-dialog.html',
link: function (scope, element) {
scope.name = 'Jeff';
update = function(name){
scope.name = name;
};
}
};
});
现在来自外部的东西会调用更新并传入名称 但是,现在(jsfiddle),名称将不会在屏幕上更新。我错过了什么?有人可以帮忙吗?谢谢。
- EDIT--
忘了添加 - 这是一个简化,但在某些时候,而不是按钮点击调用一个函数,该指令将订阅一个服务,将以相同的方式将数据推送到它。
答案 0 :(得分:1)
由于您的更新功能不是角度范围的一部分,因此您需要触发范围。$ apply手动应用角度更新其他地方的值。将其添加到您的更新功能:
scope.$apply();