我有这样的工厂,
.factory('authentication', [function() {
return {
loginRequired: false
};
}]);
我有这样的控制器,
.controller('TopNavCtrl', ['$scope', 'authentication', function($scope, authentication) {
$scope.login = function() {
authentication.loginRequired = true;
};
}]);
和我在一个指令有这个链接功能,
link: function(scope, element, attrs) {
scope.show = false;
scope.$watch(authentication.loginRequired, function(value) {
scope.show = value;
});
}
当authentication.loginRequired = true;
在控制器中完成时,指令中的scope.$watch
不是cal LED。
任何想法为什么?
FWIW,您也可以将工厂分配给作用域,然后使用'$ watch'和字符串表达式。 –
请分享您的意思,迈克尔。看到替代品总是很好的。 –