Angular:通过ng-include包含部分模板中的调用范围功能

时间:2016-10-26 19:45:38

标签: javascript angularjs angularjs-ng-include

我在指令中有一个匿名控制器。该控制器根据特定事件打开一个通用对话框,并提供一个部分模板,用于通过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>

1 个答案:

答案 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>