Mir*_*vic 21
您正在寻找的功能称为PushState.您可以在Aurelia Hub的Cheat Sheet部分找到更多信息.只需向下滚动到Routing/ Configuring PushState.
将基本标记添加到HTML文档的头部.我不认为这是必需的步骤,因为我的应用程序没有它.
如果您使用的是JSPM,请配置baseURL(在config.js文件中).
在路由器配置中启用PushState:
export class App {
configureRouter(config) {
config.title = 'Aurelia';
config.options.pushState = true; // <-- this line
config.map([
//...
]);
}
}
Run Code Online (Sandbox Code Playgroud)
配置服务器以支持PushState.基本上,这意味着您的服务器应将所有未知路由/ URL重定向到主URL(Aurelia应用程序的地址index.html,/home/index......).
此步骤取决于您使用的服务器端技术.即ASP.NET MVC,这就是你如何定义你的路由配置:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
// url: "{*pathinfo}" - this redirects all server side calls
// to Home/Index (default route)
// with this single change, HTML5 push state is enabled
routes.MapRoute(
name: "Default",
url: "{*pathinfo}",
defaults: new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:Dwayne Charrington 在他的Discover Aurelia网站上有一篇关于PushState的好文章,他解释了如何在各种服务器端框架上配置PushState,如Apache,Nginx,.NET Core和Node.js Express.
| 归档时间: |
|
| 查看次数: |
5214 次 |
| 最近记录: |