所以我试着学习如何使用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);
});
然而,无论我做什么,控制器都不会被击中。我在路由器中有otherwise
,所以如果其他所有方法都失败了,它应该在哪里?
答案 0 :(得分:0)
答案 1 :(得分:0)
您需要为每条路线添加模板:
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'
});
}])
答案 2 :(得分:0)
squiroids关于其他方面的建议是正确的,但您不会看到您的测试应用程序发生变化。
路由用于在应用程序的区域之间导航。你可以有一个有两条路线的应用程序:pms显示PM列表和pms /:box zu查看特定的PM Box。 ngRoute的主要任务是使用给定模板替换应用程序中的占位符(ng-view)。如果不在各个路径上使用模板,则$ routeProvider将无法按预期方式导航。
鉴于您有两个区域视图(pmBox.html和pmList.html),您可以像这样配置$ routeProvider zu设置路由:https://gist.github.com/kpko/bd0231ccefbaf8c415c7