Mustache语法:{ { message } }
vue基础数据 👇
1 2 3 4 5 6 7 8 9 10 11 12
| <script> const app = new Vue({ el: '#app', data:{ message: 'Hello Vue!', url: '<a href="http://www.baidu.com">百度一下</a>', num: 0, imgUrl: 'https://z3.ax1x.com/2021/08/16/f2Hzo6.png', movies:['哈利波特','钢铁侠','海上钢琴师','蜘蛛侠'] } }); </script>
|
v-once
“v-once” :数据只渲染一次,不随着数据变化而变化。
1
| <div id="app" v-once>{{message}}</div>
|
v-html
“v-html” :解析服务器返回的数据,并以链接的形式在dom上展示
1
| <div id="app" v-html="url"></div>
|
v-text
“v-text” :与效果一致,但无法在后面拼接文本
1
| <div id="app" v-text="message">此处拼接文本无效</div>
|
v-pre
“v-pre” :不解析,直接显示
1
| <div id="app" v-pre>{{message}}</div>
|
v-cloak
“v-cloak” :在vue未加载时,隐藏该元素
1
| <div id="app" v-cloak>{{message}}</div>
|
v-on
“v-on” :元素操作控制,v-on:操作=”函数”
1 2 3 4 5
| <div id="app"> <h2>{{num}}</h2> <button v-on:click="add">+</button> <button @click="add">+</button> </div>
|
v-for
“v-for” :循环
1 2 3 4 5 6 7
| <div id="app"> <ul> <li v-for="item in movies"></li> </ul> </div>
|
v-bind
“v-bind” :绑定元素属性,直接调用服务器返回的数据进行动态展示
1 2 3 4
| <div id="app"> <img v-bind:src="imgUrl" alt=""> <img :src="imgUrl" alt=""> </div>
|
“v-bind”对象语法:
1 2 3 4 5
| <style> .active{color: skyblue;} .error{color: red;} </style>
|
1 2 3 4 5 6 7 8 9 10
| <div id='app'> <h2 :class="active">{{message}} 1</h2> <h2 :class="{active: isActive, error: isError}">{{message}} 2</h2> <h2 :class="getClass()">{{message}} 3</h2> </div>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <script> const app = new Vue({ el: '#app', data: { message: 'Hello Vue!', active: 'active', isActice: 'true', isError: 'true' }, methods: { getClass: function(){ return {active: this.isActive, error: this.isError}; } } }) </script>
|
v-bind数组语法:
1 2 3 4 5 6
| <div id="app"> <h2 :class="[active,error]">{{message}}</h2> <h2 :class="getClass()">{{message}}</h2> </div>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <script> const app = new Vue({ el: #app, data: { message: 'Hello Vue', active: 'aaa', error: 'bbb' }, methods: { getClass: function(){ return [this.active, this.error]; } } }); </script>
|