【问题标题】:Angular route ui reload issues when using html5Mode使用 html5Mode 时的 Angular 路由 ui 重新加载问题
【发布时间】:2015-10-21 00:54:00
【问题描述】:

基本上,我将 Angular UI 路由与我正在构建的应用程序一起使用。路由按预期工作,但是当我尝试使用 html5Mode 时:$locationProvider.html5Mode(true); 并重新加载带有深层链接的页面,除非我从基本 url 重新加载,否则样式会被破坏。

如果我使用$locationProvider.html5Mode(false); 重新加载,则重新加载工作正常。

我错过了什么吗?

【问题讨论】:

    标签: javascript angularjs angular-ui-router


    【解决方案1】:

    您需要将 url 添加到您提供基本 html 文件的 w/e 中,以便在点击其中一个 url 时提供基本模板。 Angular 只会在本地路由。所以响应会到达您的服务器,尝试找到正确的 html 来提供服务,但可能会失败。

    【讨论】:

    • 我真的很抱歉,但我不确定我是否遵循。所以你是说我需要像服务器级别的htaccess 文件,将所有流量指向我的index.html(Angular 应用程序)?那是对的吗?顺便说一句,w/e 是什么?
    • 是的,没错。您的初始请求将发送到服务器。服务器将尝试找到正确的 html/response 对象以返回与该 url 相关的内容。 Angular 仅在客户端本地使用路由。但首先你必须把它端上来:) w/e === 不管。我不确定您使用的是什么后端,所以我无法提供更多帮助。顺便说一句,如果您只是使用文件位置来提供 index.html,则 html5mode 将不起作用。
    • 谢谢,非常有帮助。顺便说一句,我正在使用 Rails 4 后端。
    猜你喜欢
    • 2015-11-17
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 2015-08-05
    • 2017-09-09
    • 1970-01-01
    相关资源
    最近更新 更多