0

我已经成功地使用 angular's$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 参数使其工作?

4

1 回答 1

0

您需要使您的部分绝对如:

templateUrl: '/views/item.html',

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

于 2013-08-30T19:39:09.053 回答