Javascript 如何制作';顶级&x27-角js中的控制器?
这里是AngularJS新手。。。。我在这里有一个应用程序的基本框架: 该应用程序包含一个app.js和几个子模型/控制器 app.js:Javascript 如何制作';顶级&x27-角js中的控制器?,javascript,angularjs,requirejs,Javascript,Angularjs,Requirejs,这里是AngularJS新手。。。。我在这里有一个应用程序的基本框架: 该应用程序包含一个app.js和几个子模型/控制器 app.js: var app = angular.module('MyApp', ["ngRoute","page1","page2"]); app.config(['$routeProvider', function ($routeProvider) { //$routeProvider.otherwise({redirectTo: '/page1/'})
var app = angular.module('MyApp', ["ngRoute","page1","page2"]);
app.config(['$routeProvider', function ($routeProvider) {
//$routeProvider.otherwise({redirectTo: '/page1/'}); // this works just fine if uncommented
}]);
app.controller('MainCtrl', function($scope) { // none of this works
$scope.pageTitle = "Page Title"; //
$scope.myName = 'Scott';
$scope.hideSessionInfo = true;
$scope.toggleSessionData = function() {
console.log('toggleSessionData');
$scope.hideSessionInfo = !$scope.hideSessionInfo;
};
});
我希望有一个顶级控制器来处理ng视图之外的项目状态。(即显示/隐藏某些服务器会话信息)
我无法让这个外部水平控制器工作。路线上的控制器工作正常
我知道我在做一些根本错误的事情,但我无法理解
更新
通过在主体上添加ng控制器并为其指定全局控制器名称进行修复
谢谢,
斯科特
通常应该有效。您需要通过指令连接控制器(此处为ng控制器和ng视图,根据路线切换控制器)。您在哪里声明此控制器?通常情况下,如果将ng控制器指定给ng视图上方的元素,则应该可以。另外,最好不要发布静态链接,因为这些链接可能会发生变化,而应该发布一个fiddle或plunker之类的链接。我在想,如果我将我的应用命名为(即ng app=“MyApp”),那么我就不必在任何地方明确提到ng controller。这不是真的吗?这不是真的不。想象一下,如果默认情况下加载所有控制器,那么当涉及到作用域时,这将是一个令人难以置信的混乱,因为它们通常从dom中相互继承。通常,控制器连接到特定的dom节点。这里通过ng控制器或ng视图,但指令也可以有控制器。
<div ng-controller ="MainCtrl">
<div ng-view></div>
</div>