私はHTML <p>
タグに基づいて非常に単純なパラグラフ指令を作成しました。ng-transcludeを使用したangleディレクティブ
angular.module('myApp').directive('paragraph', function() {
return {
restrict: 'E',
transclude: true,
controller: function() {
var vm = this;
vm.text = "Paragraph text from controller"
},
controllerAs: 'ParagraphViewModel',
template: '<p ng-transclude>{{ParagraphViewModel.text}}</p>'
}
});
私は次のように私のhtmlでそのディレクティブを使用しています:
<paragraph>This is a very simple paragraph</paragraph>
<paragraph></paragraph>
そして私は、私はParagraphViewModel.text
にそれをバインドされてきた入力を持っています。
<input type="text" ng-model="ParagraphViewModel.text">
私は入力を変更すると、問題は、予想されるように、第2 <paragraph>
変化である、しかし、最初のものの値にはありません。
this JSBinにご確認ください。
ので、どんな解決策がありますこのため? – sadrzadehsina
何の解決策ですか? :)これは、このように動作するはずです。達成しようとしている動作は何ですか? –
@Dennisがポイントを獲得しました。 ng-transcludeを使用している場合、Angularはタグを置き換えます。 –