Vue API 学习笔记(滚动更新)

Vue指令

v-bind

(运行中动态)添加属性 Attribute 或传输到子组件中的 Props 中的数据。

速记:BAP:v-Bind -> Attribute + Props

<img v-bind:src='imageSource'> 这句代码的意思是将变量 imageSource 的值动态地添加到 img 标签的 src 属性中去。

当属性名也需要动态指定时,需加上一个中括号:

<img v-bind:[key]='imageSource'>
其中变量 key 需要在 js 代码中指定其值。

v-model

用于表单数据的双向绑定,其实它就是一个语法糖,该语法糖背后做了这两个工作:

  1. v-bind 绑定一个 value 属性
  2. v-on 指令给当前元素绑定 input 事件。这里非常关键,因为我们可以在子组件中使用 this.$emit('input', val) 来响应该事件。

示例:
普通组件中
<input v-model="inputValue>
相当于
<input v-bind:value="inputValue" v-on:input="inputValue=$event.target.value">

在自定义组件中
<my-component v-model="inputValue"></my-component>
相当于
<my-component v-bind:value="inputValue" v-on:input="inputValue = arguments[0]"></my-component>
这个时候,inputValue 接收的值就是 input 事件的回调函数的第一个参数,所以在自定义组件中,要实现数据绑定,还需要 $emit 去触发 input 的事件。this.$emit('input', value)

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容