重定向离子

时间:2016-05-02 14:56:15

标签: javascript angularjs-directive ionic-framework

我尝试使用Ionic从一项活动转移到另一项活动。 我没有任何错误但行动不起作用。

我的状态是:

  

.config(function($ stateProvider){           $ stateProvider               .state('index',{                   templateUrl:'index.html',                   网址:'/'               })               .state('home',{                   templateUrl:'templates / welcome.html',                   网址:'/ home'               });        })

我的控制器是:

.controller('HomeCtrl', function($scope, $state, $http, $location) {

    $scope.login = function(user) {
        $http.get("http://localhost/app_dev.php/json/login/"+user.username+"/"+user.password)
        .then(function(response){
            console.log(response.data.status);
            if(response.data.status === 200)
            {
                alert("redirect to main page");
                $location.path("/home");
            }else if(response.data.status === 403){
                alert("Login or password incorrect");
            }else{
                alert("User not found");
            }
        });
    };
})

当我收到我的Json时,我没有错误,但重定向没有显示

3 个答案:

答案 0 :(得分:1)

我认为你几乎把状态和位置混为一谈,我建议保持简单,只使用状态

尝试注入$ state并使用它,因为我可以看到你有一个定义为“Home”的状态,也许这应该可以解决问题:

$state.go("home");

而不是使用

$location.path

我希望有帮助

答案 1 :(得分:0)

我遇到了与此类似的问题,我所做的就是在我的html模板中将$ event添加到我的登录方法中。

<button ng-click="login(user,$event)"></button>

然后在我的js中我调用了event.preventDefault();

.controller('HomeCtrl', function ($scope, $state, $http, $location) {

    $scope.login = function (user, event) {
        $http.get("http://localhost/app_dev.php/json/login/" + user.username + "/" + user.password)
            .then(function (response) {
                console.log(response.data.status);
                if (response.data.status === 200) {
                    event.preventDefault();
                    alert("redirect to main page");
                    $state.go("home");
                } else if (response.data.status === 403) {
                    alert("Login or password incorrect");
                } else {
                    alert("User not found");
                }
            });
    };
})

答案 2 :(得分:0)

我想,

$ionicHistory.goBack()应该是最有效的方式。