AngularJS路由未拾取路由

AngularJS路由未拾取路由,angularjs,Angularjs,我是AngularJS的新手,在路由方面遇到了一些问题。我有我的主app.js: 'use strict'; var app = angular.module('app', ['budget']); angular .module('app') .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { $locationProvider.

我是AngularJS的新手,在路由方面遇到了一些问题。我有我的主app.js:

'use strict';

var app = angular.module('app', ['budget']);

angular
    .module('app')
    .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
}]);
我的控制器文件如下所示:

angular
.module('budget', ['budget.services'])
.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl: '/content/app/budget/views/budget.html',
            controller: 'budget.homeController'
        })
        .when('/budget/:year/:month',
        {
            templateUrl: '/content/app/budget/views/budget.html',
            controller: 'budget.homeSelectController'
        });
}])

.controller('budget.homeController', function ($scope, budgetStore) {
    budgetStore.getCurrentBudget(function (data) {
        $scope.budget = data;
    });
})
.controller('budget.homeSelectController', function ($scope, $routeParams, budgetStore) {
    budgetStore.getBudget($routeParams.month, $routeParams.year, function (data) {
        $scope.budget = data;
    });
});

角度仅路由到homeController路由,而从不路由到第二个路由?谁能告诉我我做错了什么吗?

我想你的查询字符串分配错了

你检查过这个了吗

在js中传递查询字符串


为什么您要在
预算
模块内而不是
应用程序
模块内配置路由?能否设置一个plunk,显示问题您是否为此url
设置了正确的查询字符串。何时(“/budget/:year/:month”,{
?我不想将路由和控制器的所有内容都放在一个文件中,所以我选择将其分散到多个文件中。查询字符串没有问题,因为如果在应用程序定义期间将所有内容加载到一个文件中,则所有内容都可以工作。将配置/模块分散到多个文件中似乎有问题。我已经尝试了d在i.e./Budget2和angularJS中添加几个不同的路由忽略了它,所以我最终得到了,所以我不认为这是查询参数的问题。我100%肯定认为这是一个路由问题。你能给我看一下你传递查询参数的链接按钮吗?
  • 但是正如我上面所说的,如果我把这些都放在一个文件中,它会工作s、 只有当我把它分开时,我才有这个问题。
  • 这对我的答案是正确的,现在它是否起作用了?应该是路线参数名称相同。
    <a href="/main.html#/budget/12/12" >Next Page</a>
    
    <a href="/main.html#/budget/{{Yourvale1}}/{{Yourvale2}}" >Next Page</a>
    
    $routeParams.Yourvale1;