テンプレート化にディレクティブを使用しようとしていますが、残念ながら、各ディレクティブはテンプレートおよびコントローラー/リンク関数の個々のスコープを設定しているようです。
plnkrでの例:
<body ng-app="App">
<h2>Directive with Isolating Scope</h2>
<isolating some-value="isolated">{{someValue}}</isolating>
<h2>Directive with Shared Scope</h2>
<sharing some-value="shared">{{someValue}}</sharing>
</body>
var app = angular.module('App', []);
app.directive('isolating', function(){
return {
'restrict': 'E',
'scope': {
'someValue': '@'
},
'transclude': true,
'template': '<div ng-transclude></div>',
'link': function(scope, element, attrs){
scope.someValue = attrs.someValue;
}
};
});
app.directive('sharing', function(){
return {
'restrict': 'E',
'transclude': true,
'template': '<div ng-transclude></div>',
'link': function(scope, element, attrs){
scope.someValue = attrs.someValue;
}
};
});
Batarang で見たもの: (括弧内のディレクティブ名)
< Scope (002)
< Scope (003) <= (isolating) contains the isolated scope
< Scope (004) <= (isolating) contains the template scope
< Scope (005) <= (sharing) contains the shared scope
分離スコープ 003 をテンプレートに使用するにはどうすればよいですか? スコープ 004 はまったく必要ないようです。
AngularJS のバージョンは 1.2.0-rc3 です。