Vue中的冒号变量(动态赋值v-bind)

阅读数:120 评论数:0

跳转到新版页面

分类

html/css/js

正文

在使用Vue中经常看到HTML中有标签属性前面添加了“:”,有些没有。

其实是v-bind的缩写。

v-bind

  • 缩写: ‘:’
  • 用法:动态绑定一个或多个特性,或一个组件prop到表达式。在绑定class或style特性时,支持其它类型的值,如数组或对象。在绑定prop时,必须在子组件中声明。可以用修饰符指定不同的绑定类型。没有参数时,可以绑定到一个包含键值对的对象,注意此时class和style绑定不支持数组和对象。

示例:

<!-- 绑定一个属性 -->
<img v-bind:src="imageSrc">
 
<!-- 动态特性名 (2.6.0+) -->
<button v-bind:[key]="value"></button>
 
<!-- 缩写 -->
<img :src="imageSrc">
 
<!-- 动态特性名缩写 (2.6.0+) -->
<button :[key]="value"></button>
 
<!-- 内联字符串拼接 -->
<img :src="'/path/to/images/' + fileName">
 
<!-- class 绑定 -->
<div :class="{ red: isRed }"></div>
<div :class="[classA, classB]"></div>
<div :class="[classA, { classB: isB, classC: isC }]">
 
<!-- style 绑定 -->
<div :style="{ fontSize: size + 'px' }"></div>
<div :style="[styleObjectA, styleObjectB]"></div>
 
<!-- 绑定一个有属性的对象 -->
<div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>
 
<!-- 通过 prop 修饰符绑定 DOM 属性 -->
<div v-bind:text-content.prop="text"></div>
 
<!-- prop 绑定。“prop”必须在 my-component 中声明。-->
<my-component :prop="someThing"></my-component>
 
<!-- 通过 $props 将父组件的 props 一起传给子组件 -->
<child-component v-bind="$props"></child-component>
 
<!-- XLink -->
<svg><a :xlink:special="foo"></a></svg>

修饰符:

(1).prop

被用于绑定DOM属性

(2).camel

将kebab-case特性转换为camelCase

(3).sync

语法糖,会扩展成一个更新父组件绑定值的v-on侦听器。




相关推荐

1、安装依赖 npm install svg-sprite-loader --save-dev 2、配置build文件夹中的webpack.base.conf.js 3、在src/component

在列表渲染时使用key属性 当Vue.js用v-for正在更新已渲染过的元素列表时,它默认用&ldquo;就地复用&rdquo;策略,如果数据项的顺序被改变,Vue将不会移动D

一、vue.js devtools开发工具的使用 1、安装 在chrome或firefox浏览器的扩展插件仓库里搜索vue devtool。 2、debugger的使用 假设我们想调试App.vue这

在一些情况下,我们可能会需要对一个prop进行双向绑定,但它破坏了单向数据流。 在vue 2.3.0,重新引入了.sync修饰符,这是一个语法糖。 例子: <

&lt;div id="app"&gt; &lt;div v-on:click="dodo"&gt;

在登陆页的mouted生命周期方法中,添加 <pre class

ref被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,引用指向的就是DOM元素,如果用在子组件上,引用就指向组件实例。 <!-- `vm.$

module.exports = { "plugins": { "postcss-import": {},

一、概述 Vuex是一个专门为Vue.js应用程序开发的全局状态管理功能。它采用集中式存储管理应用的所有组件的状态, 并以相应的规则保证状态以一种可预测的方式发生变化。 每一个Vuex应用的核心就是s

一、基本使用 如果在一个模块化工程中使用它, 必须要通过Vue.use()明确地安装路由功能. const router = new VueRouter({ routes: [ { pat