在模态窗口中打开新状态时保存数据并滚动以前的状态(Instagram / Pinterest路由)

时间:2014-08-01 16:43:18

标签: angularjs angular-ui-router angular-bootstrap

我想在Instagram / Pinterest上创建路由。在我的情况下 - 在模态窗口中打开完整的文章。来自FAQ 我找到了这段代码:

    $stateProvider.state("items.add", {
    url: "/add",
    onEnter: ['$stateParams', '$state', '$modal', '$resource', function($stateParams, $state, $modal, $resource) {
        $modal.open({
            templateUrl: "items/add",
            resolve: {
              item: function() { new Item(123).get(); }
            },
            controller: ['$scope', 'item', function($scope, item) {
              $scope.dismiss = function() {
                $scope.$dismiss();
              };

              $scope.save = function() {
                item.update().then(function() {
                  $scope.$close(true);
                });
              };
            }]
        }).result.then(function(result) {
            if (result) {
                return $state.transitionTo("items");
            }
        });
    }]
});

它可以正常工作,但是当我关闭模态窗口时,不会保存先前状态的滚动和数据。关闭模式后是否存在保留前一状态的滚动和数据的现有解决方案?

1 个答案:

答案 0 :(得分:0)

我在ui-router-extras中实现了“Sticky States”。 Ui-router-extras是ui-router的插件模块。我有一个模态示例/演示,我相信你做了什么。请访问此处的示例:

http://christopherthielen.github.io/ui-router-extras/example/stickymodal/index.html#/people/manager/0/emp/25

然后在这里查看主要的ui-router-extras页面:http://christopherthielen.github.io/ui-router-extras