如何重定向状态子 UI 路由器

How do I redirect a state child ui-router

本文关键字:UI 路由器 状态 重定向      更新时间:2023-09-26

当用户输入 URL '/id/: numberTag' 时,我需要这样做,我输入默认状态,因为我有以下代码:

应用.js

.run(function($rootScope, $state){
        $rootScope.$on('$stateChangeStart', function(evt, to, params) {
            if (to.redirectTo) {
                evt.preventDefault()
                $state.go(to.redirectTo, params)
            }
        });
  })

在我的文件路由器.js中:

   $stateProvider
            .state('detail', {
                url: '/:section/:numberTag',
                abstract: true,
                template: require('raw!./templates/detail.html'),
                controller: 'mainCtrl',
                redirectTo: 'detail.biography'
            })
                .state('detail.biography', {
                    url: '/biography',
                    template: require('raw!./templates/biograpy.html'),
                    controller: 'BiograpyCtrl',
                    data: {
                        'selectedTab': 0
                    },
                })

进入用户网址页面后为空白。

我的解决方案是在app.run中添加此功能:

$rootScope.$on('$locationChangeStart', function(evt, to, params) {
      var path = location.pathname;
      ///id/RXRVFN/biography
        if( path.match(/'/id'/[^'/]+'/?$/) ){
            location.pathname = path+'biography'
        }
    })