【问题标题】:How to refresh page with angular.js view?如何使用 angular.js 视图刷新页面?
【发布时间】:2014-12-04 21:24:16
【问题描述】:

我有一个加载 /register html 页面的主页链接。但是当我在 /register 页面上更改 css 并想查看它时,我必须返回我的本地主机,然后再次单击链接,以便页面再次加载新的 css。这非常耗时,有没有办法将/注册与页面/路由链接?或者至少从 URL 中删除 /register(以便 localhost 只是整个应用程序的 url),以便当用户刷新主页时欢迎他?

主页链接:

<a href="#/register" class="button-play-g">REGISTER</a>

视图是这样加载的

app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
    .when("/register", {
        templateUrl: "/register",
        controller: "registerController"
    })
    .otherwise("/");

    $locationProvider.html5Mode(true);
}]);

【问题讨论】:

  • 看看这是否有帮助:stackoverflow.com/questions/14718826/…
  • @tjg184 谢谢,但这不是真正的问题。我想要的只是每次我在 localhost/register 页面上更改 css 时都不必去 localhost 并单击注册链接。
  • 也许你应该添加一个新路由:.when("/", { templateUrl: "/register", controller: "registerController" })

标签: javascript html css angularjs angularjs-directive


【解决方案1】:

这是一个角度机制,在我最近回答的一个问题中进行了更多解释 AngularJS + UI-Router - Manually Type URLs in HTML5 Mode without HashBang

简单的解决方法:改用 localhost/#/register 来访问页面。

既然你正在使用

$location.html5mode(true);

此问题与将文件提供给浏览器的方式直接相关。您的 Angular 应用程序本身只有一个访问点,那就是您的 index.html 页面。当您在浏览器中键入 localhost/register 时,它正在寻找 register 目录,而不是实际的角度路径。由于您启用了 html5 模式,它删除了哈希刘海,这看起来不错,但需要额外的配置才能在没有它们的情况下单独访问视图。

附加:如果您想完全删除路由 URL,则需要使用 stateProvider 而不是 routeProvider

stateProvider相关文章:Angular ui-router: Can you change state without changing URL?

【讨论】:

    【解决方案2】:

    在你的html中设置

    <head>
      <base href="/yor base url">
    </head>
    

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 2021-05-15
      • 2014-01-12
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2017-03-22
      • 2013-03-16
      相关资源
      最近更新 更多