Angularjs 这条路线没有指向任何东西

Angularjs 这条路线没有指向任何东西,angularjs,ngroute,Angularjs,Ngroute,所以,我正在学习如何使用Angulars路由,遵循在线教程,但我似乎不知道哪里出了问题。我有以下代码: var app = angular.module('gamersplane', ['controllers', 'ngCookies', 'ngRoute']); app.config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/pms/:box?', { controller

所以,我正在学习如何使用Angulars路由,遵循在线教程,但我似乎不知道哪里出了问题。我有以下代码:

var app = angular.module('gamersplane', ['controllers', 'ngCookies', 'ngRoute']);
app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/pms/:box?', {
        controller: 'pmList'
    }).when('/pms', {
        controller: 'pmList'
    }).otherwise({
        controller: 'pmList'
    });
}])

var controllers = angular.module('controllers', []);
controllers.controller('pmList', function ($scope, $cookies, $http, $routeParams) {
    console.log($routeParams);
});

然而,无论我做什么,控制器都不会被击中。我在路由器中有
否则
,所以如果其他所有操作都失败,它不应该命中吗?

是的,否则它会命中,但您只能在其中定义重定向路径,重定向路径将告诉url和控制器为$route设置。当前:-

redirectTo: '/pms'

您需要为每条路线添加一个模板:

app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/pms/:box?', {
        controller: 'pmList',
        template: 'test.html'
    }).when('/pms', {
        controller: 'pmList',
        template: 'test.html'
    }).otherwise({
        controller: 'pmList',
        template: 'test.html'
    });
}])

squiroids关于其他方面的建议是正确的,但您不会在测试应用程序中看到任何更改

路由用于在应用程序的各个区域之间导航。你可以有一个有两条路线的应用程序:显示PM列表的PM和查看特定PM框的PM/:box。ngRoute的主要任务是用给定模板替换应用程序(ng视图)中的占位符。如果不在各个路线上使用模板,$routeProvider将无法按预期导航


假设您有两个区域视图(pmBox.html和pmList.html),您可以像这样配置$routeProvider zu设置路由:

您的
否则
指向任何地方,请尝试
否则({redirectTo:'/pms'})但即使我转到/pms或/pms/outbox,它也不会使控制器发热。我不确定哪里出了错。