我有兩個/更多的服務具有相同的簽名。我可以動態注入到指令中嗎?類似下面注入服務/工廠指令
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」 –
真的很有幫助。謝謝! –