我有两个隔离作用域指令。理想情况下,我希望两者都能独立工作,而不需要任何自定义模板。第一个指令将成为页面滚动监视器,当它到达某个点时,我希望它会触发另一个指令的更新。子指令是否可以监视父指令中的变量?
我创建了一个简单的plunkr来说明这个问题,http://plnkr.co/edit/wwfBzmemyrj1r1R54riM?p=preview
我创建了一个简单的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;
}]);