问答 / 0 / 2 / 创建于 6年前
.sync用vuejs官方的话翻译过来,是个指令修饰符,其具体意义由该指令定义给出。如果你想仅从名称,是不知道干什么,需要从它的定义入手,道理好比给你一个函数名,你是不知道这个函数做了什么,要知其义,就必须参阅函数定义。换句话来说,vue中的模板只是一种另类的接口描述,其意义由vue编译器解析,参见地址
/:show="msgShow" 表明Message组件的show和当前组件的msgShow建立了对应关系, @update:show="val => msgShow=val" 自定义了一个事件,专由Message组件调用,来修改当前组件的msgShow值,msgShow值的改变又可以反应到Message组件的show属性。
为什么要搞这么复杂,应该是因为Props属性一般是由父组件来改变,很少由自身来修改,如果是自身来修改的话则一定要保证父级的对应属性也要相应改变,可这样会导致很大的开销,所以不如就直接用事件来修改父级已达到修改自身的目的。
我要举报该,理由是:
.sync用vuejs官方的话翻译过来,是个指令修饰符,其具体意义由该指令定义给出。如果你想仅从名称,是不知道干什么,需要从它的定义入手,道理好比给你一个函数名,你是不知道这个函数做了什么,要知其义,就必须参阅函数定义。换句话来说,vue中的模板只是一种另类的接口描述,其意义由vue编译器解析,参见地址
/:show="msgShow" 表明Message组件的show和当前组件的msgShow建立了对应关系,
@update:show="val => msgShow=val" 自定义了一个事件,专由Message组件调用,来修改当前组件的msgShow值,msgShow值的改变又可以反应到Message组件的show属性。
为什么要搞这么复杂,应该是因为Props属性一般是由父组件来改变,很少由自身来修改,如果是自身来修改的话则一定要保证父级的对应属性也要相应改变,可这样会导致很大的开销,所以不如就直接用事件来修改父级已达到修改自身的目的。