指令
Vue 中,有很多常用的指令,你可以理解它是可以绑定在指定的 action 上的。
实例
v-bind
v-bind 就是 Vue 中一个常见的指令,其中 v- 前缀代表这是 Vue 为我们提供的指令,下面的例子将实现鼠标悬停在被绑定的元素上后显示它的 title 信息。
代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script></head><body> <div id="vb"> <span v-bind:title="info">悬停显示</span> </div>
<script> var app2 = new Vue ({ el: '#vb', data: { info: '此页面加载于:' + new Date().toLocaleString() } }) </script></body></html>
复制代码
页面效果
v-if
此指令可以实现条件判断,以下实例可以实现当点击按钮时,通过判断绑定元素的 judge 属性,进行元素的显示和隐藏。
代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script></head><body>
<div id="vif"> <button v-on:click="func1">点我</button> <p v-if="judge">当点击上面的按钮时我会隐藏!</p> </div>
<script> var app4 = new Vue({ el:'#vif', data:{ judge:true }, methods:{ func1:function(){ if(this.judge == true){ this.judge=false; }else{ this.judge=true;}
} } }) </script></body></html>
复制代码
以上代码中,v-on 是用来监听元素的事件,当事件发生的时候会触发对应的方法。
页面效果
点击按钮
再次点击
v-for
v-for 可以实现对元素的 for 循环,以下实例可以实现页面元素的循环渲染,Vue 提供可遍历数据。
代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script></head><body>
<div id="floop"> <ol> <li v-for="i in is"> {{ i }} </li> </ol> </div>
<script> var app3 = new Vue({ el: '#floop', data:{ is:[ '西安', '北京', '上海' ] } }) </script></body></html>
复制代码
页面效果
v-for 进阶
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script></head><body>
<div id="floop"> <ul> <li v-for="i in is"> {{ i.name }}: {{ i.goods }} </li> </ul> </div>
<script> var app3 = new Vue({ el: '#floop', data:{ is:[ {'name': '西安','goods': '面食'}, {'name': '北京','goods': '肉食'}, {'name': '上海','goods': '菜食'} ] } }) </script>
</body></html>
复制代码
页面效果
Tip: 如上,Vue 的 Observer 帮我们将普通的 DOM 对象转换成了响应式对象。
以上就是今天的全部内容了,感谢您的阅读,我们下节再会。
评论 (1 条评论)