vue修饰符--注意细节

118 阅读2分钟
  • .lazy

  • **这样即可~这样只有当我们光标离开输入框的时候,它才会更新视图,相当于在onchange事件触发更新。
    **

  • .trim

  • 它只能过滤首尾的空格**!
    **

  • .number type="number"

  • 限制输入数字或者输入的东西转换成数字

  • .stop

  • **一键阻止事件冒泡,简直方便得不行。相当于调用了event.stopPropagation()方法。
    **

  • .prevent

  • **用于阻止事件的默认行为,例如,当点击提交按钮时阻止对表单的提交。相当于调用了event.preventDefault()方法。
    **

  • **用 v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击。
    **

  • .once

  • **这个修饰符的用法也是和名字一样简单粗暴,只能用一次,绑定了事件以后只能触发一次,第二次就不会触发
    **

  • .native

  • **可以理解为该修饰符的作用就是把一个vue组件转化为一个普通的HTML标签,
    注意:使用.native修饰符来操作普通HTML标签是会令事件失效的
    **

    .enter 键盘事件

.sync 父子组件prop双向绑定

在有些情况下,我们可能需要对一个 prop 进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源

这样确实会方便很多,但是也有很多需要注意的点

  1. 使用sync的时候,子组件传递的事件名必须为update:value,其中value必须与子组件中props中声明的名称完全一致(如上例中的myMessage,不能使用my-message)
  2. 注意带有 .sync 修饰符的 v-bind 不能和表达式一起使用 (例如 v-bind:title.sync=”doc.title + ‘!’” 是无效的)。取而代之的是,你只能提供你想要绑定的属性名,类似 v-model。
  3. 将 v-bind.sync 用在一个字面量的对象上,例如 v-bind.sync=”{ title: doc.title }”,是无法正常工作的,因为在解析一个像这样的复杂表达式的时候,有很多边缘情况需要考虑。