我有一个SPA,我想使用路由进行ng-view。
我将代码包含在domain.com/folder/dashboard.aspx
的页面中
这只是现有页面的一部分,我无法将其移动到其他地方。
当我使用路由/列表时,它会将我的网址更改为domain.com/folder/list/
,但会破坏刷新页面的能力(并且因为dashboard.aspx不是默认页面而提供404,也不能它是)
如何将网址保留为domain.com/folder/dashboard.aspx/list
?
我确实尝试将我的路线设置为dashboard.aspx / list和其他各种类似的调整,但没有任何运气。
答案 0 :(得分:2)
就像@Claies所说的那样,它应该在你的服务器配置中处理,只是在这里放弃我的路由配置,以防你还没有尝试过这个
var routeWithoutResolving = function (template: string, title?: string, style?: string) {
var name;
var slashIdx = template.indexOf('/');
if (slashIdx !== -1) {
name = template.substring(0, slashIdx);
template = template.substring(slashIdx + 1);
} else {
name = template;
}
var templateUrl = '/folder/' + template + '.aspx/';
return {
templateUrl: templateUrl,
title: title,
style: style,
area: _.capitalize(name),
page: template,
reloadOnSearch: false
}
}
<强>用法强>
.when('/domain.com/folder/dashboard.aspx/list', routeWithoutResolving ('folder/dashboard.aspx'))
答案 1 :(得分:2)
我明白了。
您无法使用HTML5模式,您必须使用Hashbang。
我将路线设置为正常,/list
和/list/item
对于我的链接,我只使用了Dashboard.aspx#!/list/item
和/list
我还从html页面中删除了基本标签