簡體   English   中英

如何在angular-js中創建“頂級”控制器?

[英]How to make a 'top-level'-controller in angular-js?

AngularJS新手在這里...。我在這里有一個應用程序的基本框架:

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

該應用程序包含一個app.js和幾個子模型/控制器。

app.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添加到主體並為其指定我的全局控制器名稱來解決。

謝謝,斯科特

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

通常應該可以工作。 您需要通過指令附加控制器(此處為ng-controller和ng-view,它們根據路由來切換控制器)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM