Angular SPA中不需要的页面刷新

时间:2015-03-06 13:30:47

标签: javascript html angularjs

我使用HTML5模式进行Angular路由设置,如下所示:

app.config($routeProvider, $locationProvider){

  $locationProvider.html5Mode(true);

  $routeProvider.when("/", {
    templateUrl: "/views/login.html"
  }).when("/dashboard", {
    templateUrl: "/views/dashboard.html"
  })

});

现在我使用这样的简单链接在路线之间移动:

<a href="/dashboard"></a>

这很好用,但是当我点击链接时我似乎得到了整页重新加载。 Angular并不打算这样做,所以我不确定发生了什么。

值得注意的是,实际上我的脚本比这复杂得多,但调试了所有内容后,除了我最近切换到HTML5模式这一事实外,我看不出任何错误。

如何停止重新加载页面?

2 个答案:

答案 0 :(得分:1)

尝试使用ui-sref指令。它将使用$state服务加载页面。

<a ui-sref="yourroute">Link</a>

您必须使用$stateProvider配置路由以使用路由名称。

答案 1 :(得分:0)

如果您正在使用Angular路由,则您的链接应以哈希开头,以防止浏览器离开该页面。你试过了吗?

<a href="#/dashboard"></a>