我似乎在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
。为什么我要刷新?
答案 0 :(得分:0)
试
<a ui-sref="welcome">Login</a>
而不是
<a href="/welcome">Login</a>
答案 1 :(得分:0)
事实证明$locationProvider
正在弄乱链接。 As stated here,链接和$locationProvider
已知问题。