Angularjs $routeProvider在url具有参数时未加载模板

Angularjs $routeProvider在url具有参数时未加载模板,angularjs,Angularjs,我已经成功地使用angular的$routeProvider加载模板,代码与此类似 $routeProvider.when('/store', { templateUrl: 'views/store.html', controller: 'StoreController' }); 然而,当我使用下面的代码时,什么都没有发生。也就是说,我的模板没有加载。我想这一定是因为我在url中有一个参数,但我不太确定 $routeProvider.when('/item/:item_id/i

我已经成功地使用angular的
$routeProvider
加载模板,代码与此类似

$routeProvider.when('/store', {
    templateUrl: 'views/store.html',
    controller: 'StoreController'
});
然而,当我使用下面的代码时,什么都没有发生。也就是说,我的模板没有加载。我想这一定是因为我在url中有一个参数,但我不太确定

$routeProvider.when('/item/:item_id/info', {
    templateUrl: 'views/item.html',
    controller: 'ItemsCtrl'
});
我怎样才能让它工作

更新: 为了清楚起见,我的链接如下所示:
ng click=“setRoute('/item/1/info')”
其中“1”是参数

更新2:

$scope.setRoute = function(route){ $location.path(route); }; 
更新3:


参数
:item_id
正在通过
$http
加载。当我检查页面的源代码时,我看到了参数(例如,“123”),但由于某种原因,它没有绑定到我的
setRoute
函数。如果我对参数进行硬编码,那么一切都正常,但显然我不想硬编码。如何绑定url参数以使其工作?

您需要将部分设置为绝对值,如下所示:

templateUrl: '/views/item.html',

当添加一个参数时,它会将其视为目录的另一个深度,并希望加载类似于
/item/views/item.html

的内容。您是否检查了控制台?您是否收到了某种类型的错误?控制台中是否报告了错误。您是否尝试了“/item/:item\u id/:info”是否
设置路由
更新了您的位置栏URL?需要查看什么吗“setRoute”可以。