TypeError:无法读取未定义的属性“go” [英] TypeError: Cannot read property 'go' of undefined

查看:754
本文介绍了TypeError:无法读取未定义的属性“go”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

//controller pour connection to API
.controller('LoginConnect', ['$scope','connecting','sendtoken','$state',
function($scope,connecting,sendtoken,$state){

  var token = [];
    $scope.user = {};
    var users = $scope.user;
    var cgtpage = false;

    $scope.connect = function (users,token,$state) {
      var log = $scope.user.login;
      var pass = $scope.user.password;
      var mydata = {};
      connecting.login(log,pass).then(function(result){
        var montoken = result.data.token;
         sessionStorage.setItem('token',montoken);
         console.log(montoken);
      });


      var mytoken = sessionStorage.getItem('token');

       sendtoken.send(mytoken).then(function(userdata){
            //email

            var email = userdata.data.login;
            sessionStorage.setItem('useremail',email);
            //prestation de services
            //vente de marchandises
            //période déclaration
            var declar_period = userdata.data.declaration_period;
            sessionStorage.setItem('userdeclar_period',declar_period);
            //Bénéficiaire ACCRE
            var accre = userdata.data.has_accre;
            sessionStorage.setItem('useraccre',accre);
            //Prénom
            var name = userdata.data.entrepreneur_firstname;
            sessionStorage.setItem('username',name);
            //Nom
            var lastname = userdata.data.entrepreneur_lastname;
            sessionStorage.setItem('userlastname',lastname);
            //Nom commercial
            var commercial_name = userdata.data.company_name;
            sessionStorage.setItem('userlcommercial',commercial_name);
            //siret
            var siret = userdata.data.company_siret;
            sessionStorage.setItem('usersiret',siret);
            //Date de création
            var creation = userdata.data.activity_start;
            sessionStorage.setItem('usercreation',creation);
            //Adresse
            var adresse = userdata.data.company_address;
            sessionStorage.setItem('useraddress',adresse);
            //code postal
            var cp = userdata.data.company_zipcode;
            sessionStorage.setItem('usercp',cp);
            //Ville
            var city = userdata.data.company_city;
            sessionStorage.setItem('usercity',city);
            //Pays
            var country = userdata.data.company_country;
            sessionStorage.setItem('usercountry',country);
            //télephone
            var phone = userdata.data.company_phone;
            sessionStorage.setItem('userphone',phone);

            if (name != null){
              cgtpage = true;
            };
            console.log(cgtpage);

            if(cgtpage === true){
              $state.go('app.home');
          };
       });
    };
  }
])

我没有成功改变页面总是说TypeError:无法读取属性'go'的undefined我认为因为我的函数中没有$ state而且我无法成功。您对我如何管理它有什么想法吗?

Hi, I don t succeed to change page it always says TypeError: Cannot read property 'go' of undefined i think because i don t have $state in my function and i can t succeed it. Do you have any ideas how i can manage it ?

推荐答案

删除 $ state 来自 connect 的参数,这会消除在中注入的 $ state 参数的存在LoginConnect 控制器工厂函数。

Remove $state parameter from connect function, which is killing the existence of $state parameter injected in LoginConnect controller factory function.

$scope.connect = function (users,token) //<--removed $state

这篇关于TypeError:无法读取未定义的属性“go”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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