首頁  >  文章  >  web前端  >  AngularJS控制器繼承自另一控制器

AngularJS控制器繼承自另一控制器

WBOY
WBOY原創
2016-05-16 09:00:202259瀏覽

angularjs裡控制器繼承,常用的就是作用域巢狀作用域。預設情況下,目前作用域中無法找到某個屬性時,就會在父級作用域中進行查找,若找不到直到查找到$rootscope。

但有些情況下,rootscope下就是我們的controller,不可能將大量的公用屬性方法寫到rootscope裡去。

比如說有多個類似的頁面,都有麵包屑,搜尋欄,工具欄,表格等元素,麵包屑表格這種元素考慮做成directive,那麼必然會有許多類似的配置需要從controller傳到元件裡去,也會產生很多工具類別方法用來處理資料等,這時候在每個頁面的controller裡重複寫相同的程式碼顯然很難看,就需要用到繼承。

在stackoverflow上找到了解決方案,原來angularjs已經考慮到這種情況了,提供了$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控制器繼承自另一控制器的相關知識,希望對大家有幫助!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn