gpt4 book ai didi

javascript - AngularJS 指令 transclude scope=false?

转载 作者:太空狗 更新时间:2023-10-29 14:59:09 26 4
gpt4 key购买 nike

如何防止带有 transclude 的指令创建新的作用域?

jsfiddle由于用红色边框说明的新​​作用域,我无法绑定(bind)任何东西。

HTML:

<div ng-app="components">
<input ng-model="var">
<block>
123
<input ng-model="var">
</block>
</div>

JavaScript:

angular.module('components', []).directive('block',function(){
return{
scope:false,
replace:true,
restrict:"E",
transclude:true,
template:'<div class="block" ng-transclude></div>',
link:function(scope, el, attrs, ctrl){

}
}
});

CSS:

.ng-scope{
border:1px solid red;
margin:10px;
}

最佳答案

这实际上是此处所述的预期行为(ng-transclude 创建子作用域):https://github.com/angular/angular.js/issues/1056并在这里讨论:https://groups.google.com/forum/#!msg/angular/45jNmQucSCE/hL8x48-JfZIJ

您可以通过在作用域 (obj.var) 中的对象上设置一个成员来解决此问题,就像在这个 fiddle 中一样:http://jsfiddle.net/rdarder/pnSNj/10/

关于javascript - AngularJS 指令 transclude scope=false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12629151/

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