如何重定向状态子ui-router

时间:2016-02-11 14:44:56

标签: javascript angularjs angular-ui-router

当用户输入网址' / id /:numberTag'时,我需要这样做我进入默认状态,因为我有这段代码:

App.js

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

在我的文件Router.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
                    },
                })

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

1 个答案:

答案 0 :(得分: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'
        }

    })
相关问题