контроллерКак использовать службу из директивы для вызова функции?
angular.module('myApp')
.controller('myCtrl', [ '$mdDialog', '$mdMedia', 'viewDialog', myCtrl]);
..
function myCtrl( $mdDialog, $mdMedia, viewDialog) {
$scope.viewItem = function(ev,id) {
viewDialog.ITEM(ev,id)
};
}
HTML
<div ng-controller="myCtrl">
<md-list-item ng-repeat="item in myarr">
<a my-view-dialog">
<h4> {{item.id}} </h4>
</a>
</md-list-item>
</div>
Когда я вызываю функция непосредственно из контроллера модального окна отлично работает по щелчку
с помощью директивы
Моей директивы
angular.module('myApp')
.directive('myViewDialog', function ($parse) {
return {
compile: function(tElm,tAttrs){
var exp = $parse('viewItem($event,item.id)')
return function (scope,elm){
elm.bind('click',function(){
exp(scope);
});
};
}
};;
});
Теперь я хочу удалить зависимость контроллера и напрямую вызвать службу viewDialog из директивы, в которой она не работает.
здесь код для инъекций службы
angular.module('myApp')
.directive('myViewDialog', function ($parse, viewDialog) {
return {
compile: function(tElm,tAttrs){
var exp = $parse('viewDialog.ITEM($event,item.id)')
return function (scope,elm){
elm.bind('click',function(){
exp(scope);
});
};
}
};;
});
Вы получаете любую ошибку в консоли? – varun
Что происходит? Ошибки на консоли? –
Нет ошибки в консоли – atjoshi