1

我正在使用 ui.router 状态提供程序来交换视图。我希望能够将原始视图保持在切换到下一个视图之前的确切状态,因为很可能用户会经常在视图之间来回切换。根据文档(https://github.com/angular-ui/ui-router/wiki),视图在切换状态时被破坏。有没有办法以某种方式覆盖默认行为并“缓存”该视图。我什至不在乎我是否只需要“隐藏”原始视图并将其保留在 dom 中。我想我只是在寻找关于 ho 的最佳实践来实现这一目标。

谢谢和一堆!下面是我的代码的粗略示例:

$stateProvider
        .state('view1', {
            url: '/view1',
            views: {
                'View1': {
                    templateUrl: 'views/view1.html',
                    controller: 'Ctr1'
                }
            },
            data: {
                tab: 'tabname'
            }
        });

    $stateProvider
        .state('view2', {
            url: '/view2',
            views: {
                'View2': {
                    templateUrl: 'views/view2.html',
                    controller: 'Ctr2'
                }
            },
            data: {
                tab: 'tabname'
            }
        });
4

2 回答 2

0

我不知道有什么方法可以做到这一点。

但是,您可以在服务/工厂中维护控制器的状态,并在导航回同一视图时重新加载控制器状态。

于 2014-01-21T17:49:22.537 回答
0

听起来在您的情况下,您想在采取行动后交换视图(可能是按钮单击等)?也许你可以利用一个模型,每次交换发生时,你都会使用 $compile 你的视图。我有一些类似的场景我必须处理并且能够做到这一点:Angularjs how to toggle/replace/revert dom element in a row on button click

希望这可以帮助。

于 2015-02-23T15:03:14.510 回答