我有一个角度应用程序,它具有以下HTML结构
的div[class="ng-view-wrap"]
内容取决于URL的,但div[class="login-wrap"]
存在的每一页上,并通过rootCtrl
其通过$routeProvider
激活控制器被工作,但rootCtrl
不工作
正如你可以看到我即使在NG-控制器(rootCtrl 作为根使用"root"
)以及在loggedIn(根.loggedIn)的表达式中,以便将作用域引用到rootCtrl。
角度误差:参数 'rootCtrl' 不是一个函数,得到了不确定
HTML:
<div class="ng-view-wrap" ng-view=""></div>
<div class="login-wrap" ng-controller="rootCtrl as root">
<div class="login">
<p class="login-status">{{"Status: " + root.loggedIn }}</a>
</div>
</div>
app.js:
var mspBoard = angular
.module('mspBoard',['ngRoute'])
.config(function($routeProvider){
$routeProvider
.when('/',
{
controller: 'boardCtrl',
templateUrl: 'js/views/board.html'
})
.when('/:project',
{
controller: 'projectCtrl',
templateUrl: 'js/views/project.html'
})
.when('/:project/:topic',
{
controller: 'topicCtrl',
templateUrl: 'js/views/topic.html'
})
.otherwise({redirectTo: '/'});
});
mspBoard.controller('rootCtrl',['$scope', function($scope){
$scope.loggedIn = true;
}]);
mspBoard.controller('boardCtrl',['$scope', function($scope){
// Do Something
}]);
mspBoard.controller('projectCtrl',['$scope', function($scope){
// Do Something
}]);
mspBoard.controller('topicCtrl',['$scope', function($scope){
// Do Something
}]);
如果您尝试使用其他控制器,例如'boardCtrl',它可以工作吗? – 2014-11-03 12:58:21
其他问题:ng-app的定义在哪里? – 2014-11-03 12:59:06
html上的ng-app boardCtrl工作正如我所说的一个与$ routeProvider相关的控制器 – 2014-11-03 13:08:37