Vue是基于MVVM模式实现的一套js框架(函数库),Vue.js的目标是尽可能简单实现响应的数据绑定和组合的试图组件 小知识: 1.{{两个大括号之间不能有空格 2.vue的代码一般写在要控制的标签下面
常用指令 v-bind:设置元素的class属性或者sytle属性 v-on:监听 DOM 事件,并在触发时运行一些 JavaScript 代码 v-if:可以控制元素的创建或者销毁 v-else:表示 v-if 的“else 块” v-else-if:v-if 的“else-if 块” v-show:显示和隐藏元素样式,元素一直是存在的 v-for:将一组数据渲染到页面中 v-model:在表单 及 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素
使用v-bind指令来设置元素的class属性或者sytle属性,它们的属性值可以是表达式,vue.js在这一块做了增强
<!-- el data: 只要数据变,页面视图就变 --> <div id="app"> <!-- class属性可以是字典 对象 列表 --> <!-- 字典:{'类名' : 布尔型数据} true添加类 false不添加类 --> <div :class="{'myclass1': bool1, 'myclass2': bool2}">11111111111</div> <!-- 对象:key是真实的类名,如果取值true则添加类 --> <div :class="myobject">2222222</div> <!-- 列表:--> <div :class="[mynames1, mynames2]">33333333333</div> <div :class="[bool2?'abc':'jqk']">44444444</div> </div> <script> var vm = new Vue({ el: '#app', data: { bool1: true, bool2: false, myobject: { class1: true, class2: false }, mynames1: 'aaa', mynames2: 'bbb' } }) </script>事件绑定
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码,事件的处理,简单的逻辑可以写在指令中,复杂的需要在vue对象的methods属性中指定处理函数。
<div id="example-1"> <!-- 在指令中写处理逻辑 --> <button v-on:click="counter += 1">Add 1</button> <p> {{ counter }}</p> </div> <script> var example1 = new Vue({ el: '#example-1', data: { counter: 0 } }) </script>methods属性中指定处理函数:
<div id="example-2"> <!-- greet 是在下面定义的方法名 --> <button v-on:click="greet">Greet</button> </div> <script> var example2 = new Vue({ el: '#example-2', data: { name: 'Vue.js' }, // 在 `methods` 对象中定义方法 methods: { greet: function () { // `this` 在方法里指向当前 Vue 实例 alert('Hello ' + this.name + '!') } } }) </script>