Android $urlRouterProvider.OVERSION()不工作

Android $urlRouterProvider.OVERSION()不工作,android,angularjs,ionic-framework,firebase-authentication,google-login,Android,Angularjs,Ionic Framework,Firebase Authentication,Google Login,我尝试过学习教程以及其他stackoverflow问题,但我不知道我做错了什么 我用ionic creator构建了它,现在我正在尝试让用户登录到google,然后完成到我的仪表板的路径 对不起,这对我来说都是全新的。如果你能解释我做错了什么,为什么会这样,我就可以学习了。谢谢 My controller.js: angular.module('app.controllers', []) .controller('loginCtrl', ['$scope', '$stateParams', /

我尝试过学习教程以及其他stackoverflow问题,但我不知道我做错了什么

我用ionic creator构建了它,现在我正在尝试让用户登录到google,然后完成到我的仪表板的路径

对不起,这对我来说都是全新的。如果你能解释我做错了什么,为什么会这样,我就可以学习了。谢谢

My controller.js:

angular.module('app.controllers', [])

.controller('loginCtrl', ['$scope', '$stateParams', // The following is the constructor function for this page's controller. See https://docs.angularjs.org/guide/controller
// You can include any angular dependencies as parameters for this function
// TIP: Access Route Parameters for your page via $stateParams.parameterName
function ($scope, $stateParams, $urlRouterProvider) {

    $scope.googlelogin = function(){
        //alert('yup');
        var provider = new firebase.auth.GoogleAuthProvider();
        provider.addScope('https://www.googleapis.com/auth/plus.login');
        firebase.auth().signInWithPopup(provider).then(function(results){
            // This gives you a Google Access Token. You can use it to access the Google API.
            var token = results.credential.accessToken;
            // The signed-in user info.
            var user = results.user;
            console.log(user);

            $urlRouterProvider.otherwise('/dashboard');
            //window.location.href = "dashboard.html";
        });
    }
}])
My login.html:

<ion-view title="Login" hide-nav-bar="true" id="page4">
    <ion-content padding="true" class="manual-ios-statusbar-padding">
        <form id="login-form1" class="list">
            <div class="spacer" style="width: 300px; height: 40px;"></div>
            <div>
                <img src="img/7TKZQZBSSg62UJQB4zyu_logo.png" width="30%" height="auto" style="display: block; margin-left: auto; margin-right: auto;">
           </div>
           <div class="spacer" style="width: 300px; height: 100px;"></div>
           <a id="login-button1" class="button button-stable  button-block" ng-click="googlelogin()">Google Login</a>
           <button id="login-button3" class="button button-stable  button-block">Facebook Login</button>
       </form>
   </ion-content>
</ion-view>

您应该使用
$state.go('menu.dashboard')不是
$urlRouterProvider。否则('/dashboard')

Ionic使用angular ui路由器,您可以在此处了解更多信息:

您的js应该是这样的

angular.module('app.controllers', [])

    .controller('loginCtrl', ['$scope', '$stateParams', '$state','$location',
    function ($scope, $stateParams,$state,$location, $urlRouterProvider) {

        $scope.googlelogin = function(){

            var provider = new firebase.auth.GoogleAuthProvider();
            provider.addScope('https://www.googleapis.com/auth/plus.login');
            firebase.auth().signInWithPopup(provider).then(function(results){

                var token = results.credential.accessToken;

                var user = results.user;
                console.log(user);

               $state.go('menu.dashboard'); 

//or you may use location like below
//$location.path('/dashboard');
                });
            }
        }])

您可以使用$location服务,如下所示

angular.module('app.controllers', [])
.controller('loginCtrl', ['$scope', '$stateParams', '$state','$location',
    function ($scope, $stateParams,$state,$location, $urlRouterProvider) {
        $scope.googlelogin = function(){
            var provider = new firebase.auth.GoogleAuthProvider();
            provider.addScope('https://www.googleapis.com/auth/plus.login');
            firebase.auth().signInWithPopup(provider).then(function(results){
                var token = results.credential.accessToken;
                var user = results.user;
                console.log(user);
                $location.path('dashboard'); 
            });
        }
    }])

错误:未捕获类型错误:$scope.go不是函数(…)argh,很抱歉它是$state.go不是$scope.go我睡在这里:s记住注入$state检查下面的解决方案,我收到一个错误:未捕获错误:无法从状态“login”解析“/dashboard”(…)当我尝试这样做时,我得到一个错误:未捕获错误:无法从状态“login”(…)解析“/dashboard”,实际上它是$state.go('menu.dashboard')。这就解决了问题。非常感谢。
angular.module('app.controllers', [])
.controller('loginCtrl', ['$scope', '$stateParams', '$state','$location',
    function ($scope, $stateParams,$state,$location, $urlRouterProvider) {
        $scope.googlelogin = function(){
            var provider = new firebase.auth.GoogleAuthProvider();
            provider.addScope('https://www.googleapis.com/auth/plus.login');
            firebase.auth().signInWithPopup(provider).then(function(results){
                var token = results.credential.accessToken;
                var user = results.user;
                console.log(user);
                $location.path('dashboard'); 
            });
        }
    }])