在使用 AngularJs 构建应用程序时,我问自己以下是否是好的做法
我有“AppController”,其他所有控制器都是它的子级。AppController 有这样的东西。
$scope.layout = { sidebar: false, searchbar: true};
现在,子控制器应该能够更改这些值:
$rootScope.sidebar = true;
在这种情况下,我的子模块完全依赖于根控制器,如果我希望这个子控制器在其他应用程序中工作,我必须确保该其他应用程序的父控制器始终具有 $scope.layout 对象。这是好习惯吗?构建父控制器和子控制器都使用的布局模块会更好吗?就像下面的代码:
angular.module("app.ui", [])
.factory("Layout", [function(){
var _sidebar = false;
var searchbar = true;
var sidebar = function(flag){
if(flag !== undefined) _sidebar = flag;
return _sidebar;
}
var searchbar = function(flag){
if(flag !== undefined) _searchbar = flag;
return _searchbar;
}
return {
sidebar : sidebar,
searchbar : searchbar
}
}])