gpt4 book ai didi

angularjs - 如何将变量从隔离作用域指令传递给子级?

转载 作者:行者123 更新时间:2023-12-01 05:04:46 25 4
gpt4 key购买 nike

我有两个独立的作用域指令。理想情况下,我喜欢两者都独立工作并且不需要任何自定义模板。第一个指令将是页面滚动观察器,当它到达某个点时,我希望它触发另一个指令中的更新。子指令是否可以观察父指令中的变量?

我创建了一个简单的 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;

}]);

最佳答案

通过使用解决了这个问题

angular.element(element.parent()).isolateScope();

子指令可以访问父指令的范围和观察变量等。

http://plnkr.co/edit/RAO6q81ZE4tClMDMiLFb?p=preview

关于angularjs - 如何将变量从隔离作用域指令传递给子级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30042812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com