Javascript TypeError:无法读取属性';go';未定义的
您好,我没有成功更改页面,它总是显示TypeError:无法读取未定义的属性“go”,我想这是因为我的函数中没有$state,所以我无法成功更改。您知道我如何管理它吗?从Javascript TypeError:无法读取属性';go';未定义的,javascript,angularjs,ionic-framework,angularjs-scope,angular-ui-router,Javascript,Angularjs,Ionic Framework,Angularjs Scope,Angular Ui Router,您好,我没有成功更改页面,它总是显示TypeError:无法读取未定义的属性“go”,我想这是因为我的函数中没有$state,所以我无法成功更改。您知道我如何管理它吗?从connect函数中删除$state参数,这将消除$state参数在loginconconnect控制器工厂函数中的存在 //controller pour connection to API .controller('LoginConnect', ['$scope','connecting','sendtoken','$sta
connect
函数中删除$state
参数,这将消除$state
参数在loginconconnect
控制器工厂函数中的存在
//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');
};
});
};
}
])
$scope.connect=function(users,token)/从connect
函数中删除$state
参数,这将终止$state
控制器工厂函数中注入的$state
参数的存在
//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');
};
});
};
}
])
$scope.connect=function(users,token)//您是否在其他控制器中看到$state
?您是否加载了$stateProvider
?不,我没有在我的工厂加载$state,是吗?无论如何,您在控制器中加载了$state
,因此您不需要将$state
作为参数传递,这是全局的controller@MaximShoustin该问题与connect
功能有关,其中包含不需要的$state
参数此外,if
语句不需要分号:if(cgtpage==true){$state.go('app.home');}
(末尾没有分号)是否在其他控制器中看到$state
?您是否加载了$stateProvider
?不,我没有在我的工厂加载$state,是吗?无论如何,您在控制器中加载了$state
,因此您不需要将$state
作为参数传递,这是全局的controller@MaximShoustin该问题与connect
功能有关,其中包含不需要的$state
参数此外,if
语句不需要分号:if(cgtpage==true){$state.go('app.home');}
(结尾没有分号)@guillaumenouhau很乐意帮助您。。谢谢:-)谢谢,谢谢@PankajParkar!我有一个刷新功能,我不明白为什么它不工作。意识到我在成功回调中错误地包含了$state。再次感谢@卢拉拉很高兴知道这对你也有帮助。谢谢:-)@Guillaumenouhau很高兴帮助你。。谢谢:-)谢谢,谢谢@PankajParkar!我有一个刷新功能,我不明白为什么它不工作。意识到我在成功回调中错误地包含了$state。再次感谢@卢拉拉很高兴知道这对你也有帮助。谢谢:-)