【发布时间】:2015-05-05 01:28:25
【问题描述】:
我有两个独立的作用域指令。理想情况下,我喜欢两者独立工作,不需要任何自定义模板。第一个指令将是页面滚动观察器,当它达到某个点时,我希望它触发另一个指令中的更新。子指令是否可以监视父指令中的变量?
我创建了一个简单的 plunkr 来说明这个问题,http://plnkr.co/edit/wwfBzmemyrj1r1R54riM?p=preview
/*
<div ng-outer>Outer directive {{myvar}}
<div ng-inner="myvar">Inner directive</div>
</div>
*/
app.directive('ngOuter', [ '$timeout', function ($timeout) {
var directive = {
restrict: 'A'
,scope:{}
}
directive.link = function (scope, element, attrs) {
$timeout(function(){
scope.myvar = "test 001"
},1000)
}
return directive;
}]);
app.directive('ngInner', [ function () {
var directive = {
restrict: 'A'
,scope:{ data: '=ngInner', myvar: '=myvar' }
}
directive.link = function (scope, element, attrs) {
scope.$watch('data', function(newVal, oldVal){
if(newVal)
element.text("new inner val", newVal);
});
scope.$watch('myvar', function(newVal, oldVal){
if(newVal)
element.text("new myvar", newVal);
});
}
return directive;
}]);
【问题讨论】:
标签: angularjs angularjs-directive