尝试在不重新加载控制器的情况下在状态/视图之间导航

时间:2015-10-20 00:40:43

标签: angularjs angular-ui-router

我正在尝试使用angular-ui-router来导航状态,而无需重新加载控制器和视图。即如果我在 app.posts 并使用href导航到 app.postId 并在浏览器中单击“返回”按钮,则应显示app.posts视图和状态应该像以前一样。目前状态重新加载,好像它是第一次打开。

此外,还在$ locationProvider上启用了html5mode。

状态定义为

app.config(function($stateProvider, $locationProvider) {

$stateProvider
.state('app.home', {
  url: '/home',
  templateUrl: 'js/main/templates/home.html',
  controller: 'HomeCtrl'
})

.state('app.posts', {
  url: '/',
  templateUrl: 'js/PostList/PostList.html',
  controller: 'PostListCtrl',
  deepStateRedirect: true
})
.state('app.postId', {
  url: '/post/:id',
  templateUrl: 'js/Post/Post.html',
  controller: 'PostViewCtrl'
});

$locationProvider.html5Mode({enabled:true, requireBase:false});

1 个答案:

答案 0 :(得分:1)

控制器结果未重新初始化的唯一时间是返回到父状态。

这里有一个深入的对话:Caching URL view/state with parameters