为了账号安全,请及时绑定邮箱和手机立即绑定

大佬们遇到过这个问题吗?Vue 中props的函数默认值问题

大佬们遇到过这个问题吗?Vue 中props的函数默认值问题

有只小跳蛙 2019-08-05 22:49:22
props中函数默认值,如何执行当前组件的方法?methods:{sayHi(){alert('hi');}},props:{keyword:{default:'a'},say:{type:Function,default:this.sayHi}}无法拿到this.sayHi函数
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

prop会在一个组件实例创建之前进行验证,所以即使你是用工厂函数this也不指向组件实例唯一能与methods共享function的方法是把function单独写在实例外
functionsayHi(){
alert('hi');
}
exportdefault{
methods:{
sayHi,
},
props:{
say:{
type:Function,
default:sayHi,
},
                            
查看完整回答
反对 回复 2019-08-05
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

你好好想想this是啥。两个做法:
如果此props是callback性质的话,建议改为事件绑定。
或者使用计算属性包装,returnthis.say||this.sayHi,然后调用此计算属性。
                            
查看完整回答
反对 回复 2019-08-05
  • 2 回答
  • 0 关注
  • 884 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信