动态地绑定一个或多个特性,或一个组件 prop 到表达式。v-bind指令可以在其名称后面带一个参数,中间用一个冒号隔开。
这个参数通常是HTML元素的特性(attribute),比如:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title></title> <script src="js/vue.js"></script> <style> ul { list-style: none; } ul li { height: 30px; line-height: 30px; cursor: pointer; } .active { background-color: orange; color: white; } .red{ background-color: red; } </style> </head> <body> <!-- 案例实操:让Python背景色为红色,其他为红色. 列表索引与提供的数据一致(index===activeCourse),让对应的课程名字显示黄色,否则显示红色 --> <div id="app">
<!-- :class="index===activeCourse ? 'active':'red' 用到了v-bind--> <p v-for="(course,index) in courses" :class="index===activeCourse ? 'active':'red' "> {{ course }} </p> </div> <script> // 创建Vue的实例 let app = new Vue({ el: '#app', data: { courses: ['Python', 'Java', 'Linux', 'C#'], activeCourse: 1 } }) </script> </body> </html>
v-bind:src="imageSrc" 可以缩写: :src="imgaeSrc"
:class="{ red: isRed }" 或 :class="[classA, classB]" ...
:style="{ fontSize: size + 'px' }" 或 :style="[styleObjectA, styleObjectB]" ...
绑定一个有属性的对象,比如:v-bind="{ id: someProp, 'other-attr': otherProp }"
语法结构:v-bind:argument="expression"
因为 Mustache 不能在 HTML 属性中使用,应使用 v-bind 指令,Mustache 是一个 logic-less (轻逻辑)模板解析引擎,它的优势在于可以应用在 Javascript、PHP、Python、Perl 等多种编程语言中。