萌新求教!Vue 中props的函数默认值问题十分感谢

props中函数默认值,如何执行当前组件的方法?
methods:{
sayHi(){
alert('hi');
}
},
props:{
keyword:{
default:'a'
},
say:{
type:Function,
default:this.sayHi
}
}
无法拿到this.sayHi函数
MM们
浏览 1548回答 2
2回答

Smart猫小萌

prop会在一个组件实例创建之前进行验证,所以即使你是用工厂函数this也不指向组件实例唯一能与methods共享function的方法是把function单独写在实例外functionsayHi(){alert('hi');}exportdefault{methods:{sayHi,},props:{say:{type:Function,default:sayHi,},

慕运维8079593

你好好想想this是啥。两个做法:如果此props是callback性质的话,建议改为事件绑定。或者使用计算属性包装,returnthis.say||this.sayHi,然后调用此计算属性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript