我有一个BaseController
具有我所有其他控制器继承的常用功能。
控制器是这样的
function BaseController () {
this.defaultFilters = {};
this.doStuff = function ($scope) {
$scope.myobj.value = 1;
this.otherfunction();
};
我在我的控制器中继承了这个
BaseController.call($scope);
现在在我的do stuff函数中,我需要传递$ scope,因为myobj只在那里可见。
现在我想知道如何在模板中传递它,因为我想在点击某个按钮时调用该函数
ng-click="doStuff(scope)"
答案 0 :(得分:1)
您与控制器范围相关联的所有内容,因此您只需将范围与某个变量关联起来,我想这样就可以完成任务。
这样的事情:
app.controller(function($scope) {
$scope.scope = $scope;
});
但是如果你采用一些标准方法,我建议将这些常用功能移到某个服务中,将此服务注入每个控制器并在视图中使用它。
这样的事情:
app.service("constantService", function() {
this.data = {}; // This will represent your common data.
this.commonFunction = function() {
};
});
app.controller(function() {
$scope.constantService = constantService;
// You can now use $scope.constantService.data as your reference for data, and then can copy it to some local $scope variable whenever required.
});
ng-click="constantService.commonFunction()"