ui-router:如何使Child State的URL可刷新

时间:2017-05-24 21:31:15

标签: angularjs angular-ui-router angularjs-ng-click ng-show ng-hide

TL; DR我有一个模态,我希望有一个可刷新的链接。使用ng-clickng-show打开模态状态。如何使这个模态链接?

我有一个模态窗口,我已经给出了自定义网址。我在配置中将模态窗口作为子状态(screenings.images),它与父(screenings)共享相同的控制器,如下所示:

            .state('screenings', {
                url: '/screenings/',
                templateUrl: 'pages/page.php',
                controller: 'screeningsController'
             })

            .state('screenings.images', {
                url: ":image/",
                controller: 'screeningsController'
            })

点击screenings视图中的图片后,网址会导航至screenings/red/

模态附加了ng-show指令:

<div ng-show="show" class="swiper-container">

在图像容器上使用ng-click打开模态:

<div ng-click="swipeShow()" class='img_div'>

此函数swipeShow()及其对应的swipeHide()位于控制器中,如下所示:

$scope.swipeShow = function(){
    $scope.show = true;
};

$scope.swipeHide = function(){
    $scope.show = false;
}

从这里开始,我不确定如何使模态窗口URL可刷新。

我尝试过的事情

我试过给孩子一个完全独立的控制器:

            .state('screenings.images', {
                url: ":image/",
                controller: 'screeningsImagesController'
            })

..然后在新控制器中,我尝试自动设置:

$scope.show = true;

..以便模态应该设置为已经显示。我想,如果这个控制器是刷新和加载的,那么它会自动设置<div ng-show="show=true" class="swiper-container">,但事实并非如此。

0 个答案:

没有答案