Ionic 3使用jquery时,navctrl会出错

时间:2018-04-22 06:32:00

标签: jquery angular rest api ionic-framework

我是离子的新手,

我在离子中使用了jquery来调用rest api。

当我使用带有jQuery的navCtrl时,Chrome控制台会出现错误,

ERROR TypeError: Cannot read property 'push' of undefined

使用不带jQuery的navCtrl时,navCtrl工作正常。

我想在我的项目中使用jQuery,请帮忙,以下是我正在使用的代码

使用jQuery

jQuery.post( "http://localhost/ccc/public/api/loginapi", { email: this.email, password: this.password })
        .done(function( data ) {
          localStorage.setItem('id', data.id);
          localStorage.setItem('name', data.name);
          if(data.message == "success") {
              this.navCtrl.push(HomePage);              
          } else {
              this.navCtrl.push(AboutusPage);              
          }
        });

没有jQuery

this.restProvider.loginUser(JSON.stringify({ email: "aaa@bbb.com", password: "secret" }))
              .then(data => {
                    this.user = data;
                    this.navCtrl.push(HomePage);          
              });

1 个答案:

答案 0 :(得分:1)

您必须使用箭头操作符

 jQuery.post( "http://localhost/ccc/public/api/loginapi", { email: this.email, password: this.password })
        .done(( data ) => {  // notice the use of arrow operator here
          localStorage.setItem('id', data.id);
          localStorage.setItem('name', data.name);
          if(data.message == "success") {
              this.navCtrl.push(HomePage);              
          } else {
              this.navCtrl.push(AboutusPage);              
          }
        });

在此处阅读有关箭头功能的更多信息:How is this different for arrow function