Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

VUE里面一些符号的疑问

<NoteSidebar @update:notes="val=>notes=val"></NoteSidebar>

上面代码@update:notes="val=>notes=val"这句话是什么意思?这


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

@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变化,注意一下就好了。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...