Angular - 在不重新加载页面的情况下更改状态(ui-router 1.0)

时间:2017-10-19 11:07:57

标签: javascript angularjs routing angular-ui-router

在ui-router 1.0之前,我可以在没有页面重新加载的情况下从状态A重定向到状态B时使用 notify:false

$state.go('C', {
            param1: param1Data
        }, {
            notify: false
        });

现在,通知已被动态参数取代。它在重定向到相同状态或子状态时有效。

我的情况如下: - 状态A重定向到状态C. - 状态B重定向到状态C。

以下是我的路线的简短版本:

        {
            name: `A`,
            url: '/:create/',
            template: `flights.html`,
            controller: FlightController,
            controllerAs: '$ctrl',
            resolve: {
                booking: ['$transition$', ($transition$ : Transition) => {
                    ...
                }]
            }
        },

        {
            name: `B`,
            url: '/:copy/',
            template: `flights.html`,
            controller: FlightController,
            controllerAs: '$ctrl',
            resolve: {
                booking: ['$transition$', ($transition$ : Transition) => {
                ...
                }]
            }
        },


        {
            name: `C`,
            url: '/:delete/',
            template: `flights.html`,
            controller: FlightController,
            controllerAs: '$ctrl',
            params: {
                booking: { dynamic: true, value: null }
            }
        }

我想我可以创建两个子女状态,即A.C和B.C.但我想避免代码重复。

当位于状态A时,我无法在不重新加载页面的情况下使用动态参数输入状态C:

    // From A
    $state.go('C', {
        param1: param1Data
    };

所以问题是,你有没有想过如何在不使用ui-router 1.0重新加载页面的情况下改变状态?

0 个答案:

没有答案