Ho due/più servizi con la stessa firma. Posso quindi iniettare dinamicamente nella direttiva? qualcosa di simile sottoIniezione servizio/fabbrica alla direttiva
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;
}
}
});
allora dovrei essere in grado di utilizzare la direttiva, come di seguito
<div class='change-it' data='myData'>{{name}}</div>
<div class='change-it' data='yourData'>{{name}}</div>
avrei l'aggiunta di più servizi con la stessa firma e dovrei essere in grado di utilizzare la direttiva senza cambiare, È possibile?
Entrambi gli approcci guardare bene davvero. – Murali
Penso che tu sia in grado di definire un semplice controller che esegue il datacall e lo passa alla direttiva usando ng-controller = "YourCtrl" –
Davvero utile. Grazie! –