返回介绍

路由 - 指定地址API

发布于 2020-02-21 15:48:02 字数 1057 浏览 1036 评论 0 收藏 0

英文原文:http://emberjs.com/guides/routing/specifying-the-location-api/

默认情况下,路由通过浏览器的哈希来加载应用程序的起始状态,并且你在程序里点来点去的时候也是通过哈希来保持同步的。 目前,这依赖于浏览器中的hashchange事件。

下面的这个路由会将你从/#/posts/new 带到 posts.new 路由中去。

1
2
3
4
5
App.Router.map(function() {
  this.resource('posts', function() {
    this.route('new');
  });
});

如果你想/posts/new 这样的地址起作用,你可以用浏览器的history API来知会路由器。

需要注意服务器必须能接收Ember应用定义的所有路由。

1
2
3
App.Router.reopen({
  location: 'history'
});

最终,如果你一点儿都不想浏览器的URL地址与你的应用程序交互,你可以彻底地禁用掉地址API。这在测试环境里很适用,或者你想用路由来管理状态,但是暂时又不想路由把URL搞乱掉(比如你将你的程序嵌入到一个大的网页里的时候)。

1
2
3
App.Router.reopen({
  location: 'none'
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文