<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>myfirvue</title> </head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <body> <div id="app"> <div>Message: {{ message }}</div> </div> </body> <script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }) </script> </html>
这是最普遍的插值方式,在模板里定义的属性或方法,在html中使用{{ }}来输出,在上面已经有示例了,我们看看方法的效果
<div id="app"> <div>Message: {{ getMessage() }}</div> </div>
var app = new Vue({ el: '#app', methods: { getMessage: function () { return 'Hello Vue again!' } } })
<div id="app"> <div>Message: {{ num*3 }}</div> </div>
var app = new Vue({ el: '#app', data: { num:10 } })
<div id="app"> <p v-if="seen">你看我啊</p> </div>
var app = new Vue({ el: '#app', data: { seen:true } })
<div id="app"> <div> {{ message }}</div> <input v-model="message"> </div>
var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
<a v-bind:href="url">点我啊</a>
var app = new Vue({ el: '#app', data: { url: 'https://mp.csdn.net' } })
<div> {{ message }}</div> <button v-on:click="reverseMessage">反转message</button>
var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' }, methods: { reverseMessage: function () { this.message = this.message.split('').reverse().join('') } } })
修饰符 (modifier) 是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。在 v-on 和 v-for中有使用到。
<form v-on:submit.prevent="onSubmit">...</form>
<a v-bind:[attrName]="url">点我啊</a>
var app = new Vue({ el: '#app', data: { attrName: title, url: 'https://mp.csdn.net' } })
<!-- 完整语法 --> <a v-bind:href="url">...</a> <!-- 缩写 --> <a :href="url">...</a>
<!-- 完整语法 --> <a v-on:click="doSomething">...</a> <!-- 缩写 --> <a @click="doSomething">...</a>
<a v-bind:href="'https://'+url">点我啊</a>
var app = new Vue({ el: '#app', data: { url: 'mp.csdn.net' } })
<div class="static" v-bind:class="{ active: isActive,error:isError }">xxx</div> // 如果isActive 为真,isError 不为真就会渲染为 <div class="static active">xxx</div>
<div v-bind:class="[activeClass, errorClass]">xxx</div> //渲染为 <div class="active error">xxx</div>
var app = new Vue({ el: '#app', data: { activeClass: 'active', errorClass: 'error' } })