我想从指令模板中调用一个带有ES6样式的控制器类的方法,如下所示:
我的指示:
import angular from 'angular';
function dpGrid() {
return {
restrict: 'E',
scope: {
options: '='
},
template: require('./grid.directive.html')
}
}
export default angular.module('directives.dpGrid', [])
.directive('dpGrid', dpGrid)
.name;
我的指令模板的一部分:
<a class="btn btn-info" ng-click="delete(item)">delete</a>
我希望从指令模板调用此控制器的delete()方法:
export default class userController {
constructor($scope) {
this.$scope=$scope;
}
delete(item){
console.log("item : ",item);
}
}
userController.$inject = ['$scope'];
我不能在这样的指令中使用controller attrib:
controller:'userController'
因为我想将此指令与多控制器一起使用
答案 0 :(得分:0)
我认为你应该从你的控制器调用你的指令。 指令可以在控制器中使用,也可以通过属性直接在DOM中使用。
我不明白你为什么要在指令中调用控制器方法。 为DOM操作制定了一个指令。