Angularjs 角度用户界面路由器-不要为同一视图URL重新加载模板

Angularjs 角度用户界面路由器-不要为同一视图URL重新加载模板,angularjs,angular-ui,Angularjs,Angular Ui,我使用ui路由器来管理一个深度嵌套的路由设置,它由一个页面中的多个帧组成 大概是这样的: <html> <body> <div ui-view="foo"></div> <div ui-view="bar"></div> <div ui-view="baz"></div> </body> </html> app.config(function($sta

我使用ui路由器来管理一个深度嵌套的路由设置,它由一个页面中的多个帧组成

大概是这样的:

<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视图元素,即使URL相同

例如,从
/alpha
移动到
/beta
将重新加载
元素,即使视图URL相同


如果视图URL与前一个相同,有人知道如何停止重新加载视图吗?

我认为这就是它的工作方式,因为您更改了状态。如果你不想让它重新加载一个特定的视图,考虑把这个视图放在父抽象状态中。我希望避免,因为嵌套的路线并不真的允许这个方法认为这只是它的工作方式,因为你改变了状态。如果你不想让它重新加载一个特定的视图,考虑把这个视图放在父抽象状态中。我希望避免,因为嵌套的路线并不真的允许这个方法认为这只是它的工作方式,因为你改变了状态。如果您不希望它重新加载特定视图,请考虑将该视图放在父抽象状态中。