AngularJS $ location.Path不起作用 [英] AngularJS $location.Path not working

查看:199
本文介绍了AngularJS $ location.Path不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在MVC4互联网应用模板中使用AngularJS。登录成功后,我想重定向到我的控制器内的一个动作。但我无法使用location.Path。FetchMenu是我在LandingPageController中的动作方法。



 angular.module(MyApp).controller(Part3Controller, function  ($ scope,LoginService){
$ scope.IsLogedIn = false ;
$ scope.Message = ' ';
$ scope.Submitted = false ;
$ scope.IsFormValid = false ;

$ scope.MyLogin = {
USER_ID:' ';
密码:' ';
};

// 检查表格是否有效//这里f1是我们的表格名称
$ scope。$ watch(f1。$ valid, function (newVal){
$ scope.IsFormValid = newVal;
});

$ scope.Login = function (){
$ scope.Submitted = ;
if ($ scope.IsFormValid){
LoginService.GetUser($ scope.MyLogin).then( function (d){
if (d.data.USER_ID!= null ){
$ scope.IsLogedIn = true ;
$ location.Path(/ LandingPage / FetchMenu);
}
else {
alert(' 凭证无效!');
}
});
}
};
})
.factory(' LoginService,function($ http){
var fac = {};
fac.GetUser = function(d){
return $ http({
url:/ Data / UserLogin,
method:POST,
数据:JSON.stringify(d),
标题:{content-type:application / json}
});
};
返回fac;
} );

解决方案

范围,LoginService){


scope.IsLogedIn = false ;


scope.Message = ' ';

Am using AngularJS in MVC4 internet application template. After login is successful, I want to redirect to an action inside my controller. But I couldn't do that using location.Path."FetchMenu" is my action method inside "LandingPageController".

angular.module(MyApp).controller(Part3Controller, function ($scope, LoginService) {
                    $scope.IsLogedIn = false;
                    $scope.Message = '';
                    $scope.Submitted = false;
                   $scope.IsFormValid = false;

                   $scope.MyLogin = {
                            USER_ID:'' ;
                            Password: '';
                    };

                //Check is Form Valid or Not // Here f1 is our form Name
                $scope.$watch(f1.$valid, function (newVal) {
                       $scope.IsFormValid = newVal;
                 });

                $scope.Login = function () {
                      $scope.Submitted = true;
                      if ($scope.IsFormValid) {
                          LoginService.GetUser($scope.MyLogin).then(function (d) {
                                if (d.data.USER_ID != null) {
                                   $scope.IsLogedIn = true;
                                   $location.Path(/LandingPage/FetchMenu);
                                                    }
                                                  else {
                                                         alert('Invalid Credential!');
                                                 }
                                       });
                                  }
                           };
                  })
           .factory('LoginService, function ($http) {
                               var fac = {};
                               fac.GetUser = function (d) {
                                     return $http({
                                             url:/Data/UserLogin,
                                        method: POST,
                                      data: JSON.stringify(d),
                                    headers: {content-type:application/json}
                                });
                            };
                return fac;
           });

解决方案

scope, LoginService) {


scope.IsLogedIn = false;


scope.Message = '';


这篇关于AngularJS $ location.Path不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆