我希望在用户登录后根据条件重定向页面“varView”标志将使用cookie或rootScope或任何其他选项具有一些值。在那之后,在进行路由的配置中,我必须检查标志,并根据标志的值页面进行重定向。
这是代码:
$routeProvider.when("/editTest/:testID",
{
templateUrl: '/apps/templates/xyz/editTest.html',
controller: 'EditTestController',
resolve: {
load: function (ShareData, $location) {
var varView = 'tabPanelView'; // this value of varView will get loaded from login
if (varView == 'tabPanelView') {
$location.path('/editTestPageView.html');
} else {
$location.path('/editTestTabPanelView.html');
}
return ShareData.get('cEditTest');
}
}
});
如果varView =='tabPanelView'然后在editTestPageView.html页面上重定向,则将其重定向到editTestTabPanelView.html。
实际上,我有一个带有两个差异的客户表单。视图(2个html文件),即具有正常页面可滚动且具有多个部分的一个,而另一个是在选项卡面板视图模式中,这是在不可滚动的选项卡中划分的部分。
因此,页面视图设置位于用户手中的管理区域中。用户将选择他想要的表单视图,并根据该页面打开。
答案 0 :(得分:1)
可能会尝试将“userpreference”作为路径的一部分传递 例如:/ editTest /:testID /:varView 在routeProvider里面。
$routeProvider
.when("/red/:testID/:varView", {
templateUrl: function(params) {
return params.varView == 'table'? "./pages/table.htm" : "./pages/scroll.htm";
},controller : 'aboutController'
})
OR,可以使用
在HTML文件中的模板中包含模板 <div ng-switch-when="1"> OR <ng-include src="subPage"></ng-include>
您可以查看以下答案:
答案 1 :(得分:1)
最后,结束传递url中的参数,如
'<a href="#/editTest/{{model._id}}/' + getCookie(escape('cformview'))+ '" title="Edit Test"></a>'
在$ routeProvider中
$routeProvider.when("/editTest/:ID/:flagTab",
{
templateUrl: function (params) {
var flag = params.flagTab;
if (flag == 'tabPanelView') {
return '/apps/templates/editTest.html';
}
else {
return '/apps/templates/editTestPageView.html';
}
},
controller: 'EditTestController'
});
答案 2 :(得分:0)
您应该可以简单地使用$window
服务。使用if
条件,您可以使用$window.open
去任何您喜欢的地方。如果这没有回答你的问题评论为什么,我会再试一次。您必须将路线放在open方法中。