2

AngularJS新手在这里....我有一个应用程序的基本框架位于这里:

http://plnkr.co/edit/HlQvMKF735YrBL2tOYGf?p=preview

该应用程序包含一个 app.js 和几个子模型/控制器。

应用程序.js:

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-view 之外的项目状态。(即显示/隐藏一些服务器会话信息)

我无法让这个外层控制器工作。路线上的控制器工作得很好。

我知道我在做一些根本错误的事情,但我无法弄清楚。

更新

通过将 ng-controller 添加到 body 并给它我的全局控制器名称来修复。

谢谢,斯科特

4

1 回答 1

3
<div ng-controller ="MainCtrl">
    <div ng-view></div>
</div>

通常应该工作。您需要通过指令附加控制器(此处为 ng-controller 和 ng-view,根据路由切换控制器)。

于 2013-11-11T22:35:55.047 回答