transcludeを使用して新しいスコープを作成する命令を防止するにはどうすればよいですか?AngularJSディレクティブのtransclude scope = false?
このjsfiddle赤い枠で示した新しいスコープのため、何もバインドできません。
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;
}
感謝。私はより簡単な例を作った[jsfiddle](http://jsfiddle.net/RHLzK/5/)。しかし、それはバグですか、それとも機能ですか? – Jossi
親スコープからプロトタイプを継承しています(つまり、親スコープから読み込むことができますが、書き込むとすぐに子スコープになります)。親スコープのworkaroudでobjを使用しない限り)、おそらくng-transclude指令のソースコードを見て、それをコピーしてスコープで自分自身で作ることができます:falseオプション。 – Guillaume86
「要素」として設定された文字列を使用し始めると、問題が再び発生します。なぜ誰もそれが今働かない理由を知っていますか?デモ:http://plnkr.co/edit/Bv1kFQtzdVzsasHTUrgf?p=preview –