鸿蒙开发中,父组件调用给子组件初始化传一个callback,需要使用bind修改this指向,具体问题如下所示:
下面是使用场景代码:
//子组件:
LoginTextView({
content:this.md.account,
textPlaceHolder:"请输入账号",
leftIconStr:'app.media.phoneAccount',
righIconStr:'app.media.moreNumClose',
textChangeCallback:this.textFeildValueAccountChange.bind(this),
})
//父组件:
textFeildValuePasswordChange(value:string){
this.md.password = value;
this.checkCanLogin();
}
checkCanLogin(){
if(this.md.account.trim().length>0&&this.md.password.trim().length>0){
this.md.loginBtnCanClick = true;
}else{
this.md.loginBtnCanClick = false;
}
}
这里需要修改this指向,父组件被回调的时候,this是指向子组件。编译时候有arktsCheck 警告。有替代方案么?
你可以用bind是不阻碍编译或者运行的,如果是修改bind指向本作用域this,还可以把使用bind的函数改为箭头函数,可以参考下面代码:
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。