VUE3的学习和使用 vue语句


1.v-model和:value的区别

:value绑定只是v-bind单向的数据绑定,组件内部修改了对应的值,需要添加change方法改变data; v-model的绑定是双向的,组件内部的值变化了,也会同步到页面的data中。

<Input 
  :value="userName" 
  @change="(e) => {changeValue('userName',e.target.value)}"
/>

两种写法的效果是一样的

:value后可以接js表达式,v-model只能接数值,否则报错。

2.v-if和v-show,:is的区别

v-if dom元素不渲染

v-show 有dom节点,但是该元素不显示,css样式display:none

:is 多用于动态切换组件,如:

  
// flag 为真显示组件一,否则显示组件二

3.v-if和v-for不能同时使用

v-for比v-if优先级更高,所以先运行循环,在每条循环中都要进行一次判断。

解决办法,在v-for外面嵌套一层