我从后端检索数据并使用控制器在html页面中显示它。当用户单击某个链接时,另一个页面根据链接ID(此处为促销页面)加载。我想将menu_id传递给加载页面。我用ngRoute。下面是我试过的html代码,
<li class="table-view-cell" ng-repeat="menu in menuList">
<a class="navigate-right btn-lg" href="#{{menu.link}}/{{menu_id}}">
<span class="{{menu.icon}}"></span>
{{menu.menuName}}
</a>
</li>
以下是路由,
mobileApp.config(function($routeProvider) {
$routeProvider
.when('/promo/menu._id', {
templateUrl: 'tpl/promo.html',
controller: 'promoController',
activePage: 'promo'
})
以下是促销页面的控制器,我需要检索menu_id,
$http.get(SERVER_URL + '/api/templates/getCategories?appId='+$rootScope.appId+'&mainId='+$routeParams.id)
.success(function(data) {
$scope.requestCategory = data[0];
}).error(function(err) {
alert('warning', "Unable to get templates", err.message);
});
答案 0 :(得分:1)
mainModule.config([function($routeProvider) {
$routeProvider.when('/promo/:menu._Id', {
templateUrl : 'tpl/promo.html',
controller : 'promoController',
activePage: 'promo'
});
}
您可以像上面一样定义路由,在menu._Id之前注意冒号。在您的控制器中,您可以使用$ routeParams服务访问menu._Id,如下所示:
$routeParams.menu._Id
多数民众赞成的。
答案 1 :(得分:0)
当我更改路由时,它开始工作,
.when('/promo/:id', {
templateUrl: 'tpl/promo.html',
controller: 'promoController',
activePage: 'promo'
})
答案 2 :(得分:0)
在这种情况下,您必须在控制器中执行以下操作:
$routeParams.id