我正在使用ui-router来管理深层嵌套的路由设置,该设置由页面中的多个帧组成。
这样的事情:
<html>
<body>
<div ui-view="foo"></div>
<div ui-view="bar"></div>
<div ui-view="baz"></div>
</body>
</html>
我的路由文件是这样的:
app.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('alpha', {
url: '/alpha',
views: {
'foo': {templateUrl: '/partials/foo.html'},
'bar': {templateUrl: '/partials/bar.html'},
'baz': {templateUrl: '/partials/baz.html'},
},
})
.state('beta', {
url: '/beta',
views: {
'foo': {templateUrl: '/partials/foo.html'},
'bar': {templateUrl: '/partials/quz.html'},
'baz': {templateUrl: '/partials/qux.html'},
},
})
.state('gamma', {
url: '/gamma',
views: {
'foo': {templateUrl: '/partials/flarp.html'},
'bar': {templateUrl: '/partials/corge.html'},
'baz': {templateUrl: '/partials/qux.html'},
},
})
});
该页面由多个面板组成,此设置工作正常。但是,每个URL更改都会强制重新加载所有ui-views元素 - 即使URL是相同的。
例如,即使视图网址相同,从/alpha
移动到/beta
也会重新加载<div ui-view="foo"></div>
元素。
如果视图网址与之前的网址相同,有没有人知道如何停止重新加载视图?