我已成功使用angular $routeProvider
来使用与此类似的代码加载模板
$routeProvider.when('/store', {
templateUrl: 'views/store.html',
controller: 'StoreController'
});
但是,当我使用下面的代码时,没有任何反应。也就是说,我的模板没有加载。我认为这一定是因为我在网址中有一个参数,但我不确定。
$routeProvider.when('/item/:item_id/info', {
templateUrl: 'views/item.html',
controller: 'ItemsCtrl'
});
我怎样才能让它发挥作用?
更新:
为清楚起见,我的链接如下所示:ng-click="setRoute('/item/1/info')"
其中“1”是参数。
UPDATE2:
$scope.setRoute = function(route){ $location.path(route); };
UPDATE3:
通过:item_id
加载参数$http
。当我检查页面的源代码时,我看到参数(例如,“123”),但由于某种原因它没有绑定到我的setRoute
函数。如果我硬编码参数然后一切正常,但显然我不想硬编码。如何绑定url参数以使其有效?
答案 0 :(得分:0)
你需要让你的部分绝对,如:
templateUrl: '/views/item.html',
添加参数后,它会将其视为另一个目录深度,并希望加载/item/views/item.html