[英]How can i pass scope in template in angular js
我有一個BaseController
具有我所有其他控制器繼承的通用功能。
控制器就是這樣
function BaseController () {
this.defaultFilters = {};
this.doStuff = function ($scope) {
$scope.myobj.value = 1;
this.otherfunction();
};
我像這樣在控制器中繼承了它
BaseController.call($scope);
現在在我的東西函數中,我需要傳遞$ scope,因為myobj僅在此處可見。
現在我想知道如何在模板中傳遞它,因為當某些按鈕單擊時我想調用該函數
ng-click="doStuff(scope)"
您與控制器的范圍相關聯的所有內容,因此您只需將范圍與某個變量相關聯,我想就可以完成工作。
像這樣的東西:
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()"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.