我在指令中有一个匿名控制器。该控制器根据特定事件打开一个通用对话框,并提供一个部分模板,用于通过ng-include向通用对话框添加一些按钮。
现在在通用对话框中,一旦用户点击任何提供的按钮,我希望调用匿名控制器中的特定功能。有关如何实现这一目标的任何想法?
控制器:
angular.module('abc')
.directive('xyz', [function() {
return {
restrict: 'E',
scope: {},
controller: ['$scope', function($scope) {
$scope.callThisFunc = function(){};
}]
}
}
部分模板:
<div>
<button label="CANCEL"
ng-click="callThisFunc()">
</button>
</div>
通用对话框模板(与上面的abc模块不同的模块):
<div ng-include="partial"></div>
答案 0 :(得分:0)
尝试使用“controllerAs”语法
DEBUG=False
部分模板
angular.module('abc')
.directive('xyz', [function() {
return {
restrict: 'E',
scope: {},
controller: function() {
var vm = this;
vm.callThisFunc = function(){};
return vm;
}],
controllerAs: 'xyzCtrl'
}
}
通用对话框模板
<div>
<button label="CANCEL"
ng-click="xyzCtrl.callThisFunc()">
</button>
</div>