这个控制器工作得很好:
function airlineRouter($routeProvider) {
$routeProvider
.when('/',
{
templateUrl:"partials/destinations.html",
controller: function($scope) {
$scope.setActive('destinations');
} //end controller
});
} //end airlineRouter
当我将控制器设为自己的 JS 文件时,它不再工作了。像这样:
function airlineRouter($routeProvider) {
$routeProvider
when('/',
{
templateUrl:"partials/destinations.html",
controller: "DestinationsCtrl"
});
} //end airlineRouter
我的控制器文件位于“root/js/controllers/destinations.js”中,这与我的“app.js”文件所在的文件夹相同。完整的“app.js”文件如下所示:
angular
.module('airline', ['ngRoute'])
.config(airlineRouter);
function airlineRouter($routeProvider) {
$routeProvider
.when('/',
{
templateUrl:"partials/destinations.html",
controller: "DestinationsCtrl"
}
);
} //end airlineRouter
我完整的控制器 JS 文件如下所示:
function DestinationsCtrl($scope) {
$scope.setActive('destinations');
} //end DestinationsCtrl
为什么我的控制器不会像我正在做的这个 tut 所说的那样按函数名称加载?tut 的文件似乎有效。我的不是。
编辑:控制台日志显示:错误:[ng:areq] Argument 'DestinationsCtrl' is not a function, got undefined
编辑 2:我正在研究的 tut 被称为“嵌套范围”,如果这能让任何人更好地了解我正在尝试做什么。