页面仅在手动刷新时导航

时间:2015-11-24 22:08:17

标签: javascript angularjs mean-stack

我似乎在MEAN-stack应用程序中遇到了一个奇怪的问题:应该导航到另一个页面的anchor链接不会这样做。相反,它会更改URL框中的URL,但用户必须手动刷新才能显示新页面。

/routes/welcome.js(Node.JS路由):

var express = require("express");
var router = express.Router();
router.get("/welcome", function(req, res, next) {
    res.render("welcome", {title: "Express"});
});
module.exports = router;

/landing.ejs(这是主页面。用户从这里开始):

<html>
    ...
    <body ng-app="myapp">
        <div ui-view="container" class="head-container">
            <a href="/welcome">Login</a>
  ...
</html>

authController.js

var app = angular.module(“myapp.controllers.auth", [
  "ui.router"
]);

app.config([
  "$stateProvider",
  function($stateProvider) {
    $stateProvider.state("welcome", {
      parent: "root",
      url: "/welcome",
      templateUrl: "welcome",
      controller: "AuthController",
    })
  }
]);

假设用户位于localhost:3000,目前正在查看landing.ejs页面。如果他/她单击“登录”链接,则URL框中的URL将更改为localhost:3000/welcome,但实际页面保持不变,就好像什么也没发生一样。但是,当用户右键单击并刷新页面时,它将更改为welcome.ejs。为什么我要刷新?

2 个答案:

答案 0 :(得分:0)

<a ui-sref="welcome">Login</a>

而不是

<a href="/welcome">Login</a>

答案 1 :(得分:0)

事实证明$locationProvider正在弄乱链接。 As stated here,链接和$locationProvider已知问题。