我对angularJS视图有不同的要求。 我有一辆车在运行,个人可以用0 $结账(一些免费礼品) 因此,对于付款页面视图,我们提出了不同的想法。
if($cart_total>0){
show payment page view;
} else {
show confirmation page view;
}
那么我如何在angularJS路由中做同样的事情。我的角度路由看起来像这样
as.config(function($routeProvider, $httpProvider) {
$routeProvider
.when('/index', {templateUrl: 'partials/index.html', controller: 'IndexListCtrl'})
.when('/shop/:id', {templateUrl: 'partials/shop.html', controller: 'ShopCtrl'})
.when('/payment/:id', {templateUrl: 'partials/payment.html', controller: 'PaymentCtrl'})
.when('/confirm', {templateUrl: 'partials/confirm.html', controller: 'ConfirmCtrl'})
.otherwise({redirectTo: '/index'});
});
所以我只需要在cart_total>时显示付款视图0其他显示确认视图。
请帮助!!!
答案 0 :(得分:1)
我认为你必须使用$route service events
PS。这是similar question
答案 1 :(得分:0)
首先通过声明一个类似的常量为路由添加一个定义。
angular.module("App")
.constant('Cart', {
showCart : 'true'
});
.when('/payment/:id',{
templateUrl:'',
access:Cart.showCart
})
然后你必须选择。首先在run函数中检查'$rootScope.$on('$locationChangeStart'
事件,在其中你可以通过var location = $location.path(); var route = $route.routes[location];
访问路由,然后通过route.access访问用户角色;那么你可以删除或添加Html组件。或者你可以制作一个简单的指令,用于检查相同的路径并使用链接功能来删除或添加Html组件