@update和$emit同时使用,是子组件用来快速修改父组件值的一种方式。
子组件:
this.$emit('update:run','你好');
//update后面其实是自定义的事件名称,父级用这个名字接收就好。~~~~
父组件:
<子组件 @update:run='function(data){notes=data}' ~~~~/>
//这种写法必须传一个函数进去,就是你题目中的样子, 只不过它写的剪头函数
//data => notes=data 相当于
//function(data){return notes = data}
vue本身也提供了简易的语法糖:
子组件不动,父组件改成:
<子组件 :run.sync='notes' />
//意思就是触发run这个事件的时候,将回调函数中的值付给notes
这种用法在某些低版本的vue中watch监听不到notes变化,注意一下就好了。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…