ui-router modal window with parent state

ui-router modal window with parent state

有很多关于在进入特定状态时打开模式 windows 的文档,有些人使用 'onEnter',其他人使用 '$stateChangeStart' 事件。

但我遇到的问题是,当直接转到 url 时,模态 window.

下没有加载任何内容

例如: 1. 用户前往 www.mysite.com 2. 用户点击打开模型的link:www.mysite.com/#/signup 3. 用户看到注册模式window,下面是原始内容

但是当用户直接进入 www.mysite.com/#/signup 时,这不会发生。

目前我有一个父路由来处理我所有的模态 windows,如下所示:

$stateProvider
    .state('modal', {
        parent: 'home',
        abstract: true,
        url: '',
        data: {
            modal: true  
        },
        onEnter: ['$state', '$modal', function($state, $modal) {
            console.log('open modal'); 

            $modal.open({
                template: '<div ui-view="modal"></div>',
                backdrop: true
            }).result.then(function() {
                $state.go('home'); 
            }, function(reason) {
                if(!reason || reason == 'backdrop click') $state.go('home');   
            });
        }]
    });

虽然这可行,但我希望能够动态设置父路由,因为这将是我模态下方的内容 window。

有什么办法吗?或者是否有任何其他方法可以让我打开模式 window 以及下面的任何内容?

使用UI-Router Extra - Sticky States帮助我解决了我的问题,有几个问题直接打开模态时没有底层状态,但这些都是可以解决的问题。 http://christopherthielen.github.io/ui-router-extras/#/sticky