本文給大家介紹AngularJS控制器繼承自另一控制器的相關(guān)內(nèi)容,小編認為介紹的非常不錯,具有參考借鑒價值,感興趣的朋友參考下吧
AngularJS里控制器繼承,常用的就是作用域嵌套作用域。默認情況下,當前作用域中無法找到某個屬性時,就會在父級作用域中進行查找,若找不到直至查找到$rootScope。
但有些情況下,rootScope下就是我們的controller,不可能將大量的公用屬性方法寫到rootScope里去。
比如說有多個類似的頁面,都有面包屑,搜索欄,工具欄,表格等元素,面包屑表格這種元素考慮做成directive,那么必然會有許多類似的配置需要從controller傳到組件里去,也會產(chǎn)生很多工具類方法用于處理數(shù)據(jù)等,這時候在每個頁面的controller里重復(fù)寫相同的代碼顯然很難看,就需要用到繼承。
在StackOverflow上找到了解決方案,原來AngularJS已經(jīng)考慮到這種情況了,提供了$controller
var app = angular.module('angularjs-starter', []);
app.controller('ParentCtrl ', function($scope) {
// I'm the sibling, but want to act as parent
});
app.controller('ChildCtrl', function($scope, $controller) {
$controller('ParentCtrl', {$scope: $scope}); //This works
});
以上所述是小編給大家介紹的AngularJS控制器繼承自另一控制器的相關(guān)知識,希望對大家有所幫助!