$state.go('XXX') 在 angularJS 项目中不起作用


  1. 条件:AngularJS V1.0.3,Angular UI路由器V0.2.10
  2. 我想实现的是,索引html页面会动态转发到登录html,然后点击登录按钮,它会重新转发到主页
  3. 由于我的声誉不够,所以我不能附上图片。在这里,我将附上我的演示代码。3.1:index.html

            <!-- StateProvider -->
            <div ng-controller="demoController">
                <button ng-click="goToHomePage()">Go To Home Page</button>
            </div>
            <!-- Load extra js -->
            <script type="text/javascript" src="js/lib/jquery/jquery-2.1.3.js"></script>
            <script type="text/javascript" src="js/lib/angular/angular.js"></script>
            <script type="text/javascript" src="js/lib/angular/angular-route.js"></script>
            <script type="text/javascript" src="js/lib/angular/angular-sanitize.js"></script>
            <script type="text/javascript" src="js/lib/angular/angular-animate.js"></script>
            <script type="text/javascript" src="js/lib/angular-ui/angular-ui-router.js"></script>
            <script type="text/javascript" src="js/appDemo.js"></script>
            <script type="text/javascript" src="js/service/DemoService.js"></script>
            <script type="text/javascript" src="js/controller/DemoController.js"></script>
        </body>
    

    3.2:appDemo.js

    var app = angular.module("demo", ['ui.router']);
    app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
    //$urlRouterProvider.otherwise("/landing/dashboard");
    $urlRouterProvider.otherwise("/login");
    //$urlRouterProvider.when('/landing/influencers', '/landing/influencers/dashboard/market-view');
    $stateProvider
        .state('home', {
            url: '/home',
            templateUrl: 'view/home.html',
            controller: function(){
                alert("123");
            }
        })
        .state('login', {
            url: '/login',
            templateUrl: 'view/login.html'
        });
    }]);
    app.run(['$state', function ($state) {
        alert("running...");
        /*$state.transitionTo('home');*/
        $state.go('home');
    }]);
    

    3.3:DemoController.js

    app.controller('demoController', function($scope, $state, demoService){
        $scope.goToHomePage = function(){
            alert('AAA');
            $state.go("home");
        }
    });
    

    当我点击"转到主页"按钮时,什么也没发生,只是提示了一条消息"AAA",该消息设置在goToHomePage功能中。

    知道如何正确转发到主页吗?

    任何建议都将不胜感激。

您的angularjs版本太旧,与angular-ui-roter不兼容。

将角度脚本版本从1.0.3更新为1.3.15将解决您的问题。

最新更新