我有两个独立的范围指令.理想情况下,我喜欢独立工作,不需要任何自定义模板.第一个指令将是页面滚动观察器,当它到达某一点时,我希望它在另一个指令中触发更新.子指令是否可以在父指令中观察变量?
我已经创建了一个简单的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,attrs) { scope.$watch('data',function(newVal,oldVal){ if(newVal) element.text("new inner val",newVal); }); scope.$watch('myvar',oldVal){ if(newVal) element.text("new myvar",newVal); }); } return directive; }]);