同じシグネチャを持つ2つ以上のサービスがあります。この指令に動的に注入することはできますか?ディレクティブへのサービス/工場の投入
var app = angular.module('app',[]);
app.factory('myData', function(){
return {
name : "myName",
id : 1,
create: function(){
//do something
}
}
});
app.factory('yourData', function(){
return {
name : "yourName",
id : 1,
create: function(){
//do something
}
}
});
app.directive('changeIt',function($compile){
return {
restrict: 'CA',
scope:{
data : '=' //or some oether syntax?
},
link: function (scope, element, attrs) {
scope.name = data.name;
}
}
});
以下のようなものその後、私は、私は同じシグネチャを持つより多くのサービスを追加されるだろうと私は変更せずにディレクティブを使用することができるはず
<div class='change-it' data='myData'>{{name}}</div>
<div class='change-it' data='yourData'>{{name}}</div>
以下のようにディレクティブを使用することができるはずです、出来ますか?
は、両方のアプローチが本当に良く見えます。 – Murali
私はあなたがdatacallを実行し、ng-controller = "YourCtrl"を使ってディレクティブに渡す単純なコントローラを定義できると思います。 –
本当に役に立ちました。ありがとう! –