javascript - 类型错误 : Cannot read property 'go' of undefined

标签 javascript angularjs ionic-framework angularjs-scope angular-ui-router

//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' 我想是因为我的函数中没有 $state,所以我无法成功。您对我如何管理它有任何想法吗?

最佳答案

connect 函数中删除 $state 参数,这会杀死 LoginConnect 中注入(inject)的 $state 参数> Controller 工厂功能。

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

关于javascript - 类型错误 : Cannot read property 'go' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35748030/

相关文章:

javascript - 垂直对齐 div 内容,在鼠标悬停时替换 tr 元素(使用 jQuery)

javascript - Typescript:为什么不带参数的函数可以转换为带参数的函数

angularjs - 在 Angular 中对装饰器进行单元测试,装饰 $log 服务

html - 使用 Angular 工作的 HTML 输入中的 Font Awesome 图标

javascript - Collection-Repeat 和 $ionicModal 奇怪的行为

angular - 如何使用Ionic 4项目将 Angular 版本更新为8

typescript - ionic 服务后无法解析 [object OBJECT] 的所有参数

javascript - 提取并内爆 javascript 对象中的具体项

javascript - Jhipster 和调试 angular js

javascript - 使用 Angular js 中的另一个变量获取 $scope.x1 变量