标签:close yellow number 字符串 none 优先级 OLE sel asc
vue
渐进式JavaScript框架。主张最少,没有多做职责之外的事。
使用vue
1 const vm = new Vue({ 2 el: ‘#app‘,//el--element 绑定使用vue语法的dom元素 3 data: { //vue的子对象data对象,用于存放页面的数据 4 a:5 5 } 6 })
1.插值表达式{{ }}
可以插入一些表达式,网页中显示最终结果。也可以取出data中的数据,热更新。
<p>{{ a }}<p>
vue数据同步更改,异步更新。可以使用内置对象$nextTick获取更新之后的数据
1 vm.$nextTick(function(){ 2 //vm.$nextTick是在数据更新之后立即执行,可以获取更新之后的数据 3 console.log(vm.$el.innerHTML); 4 });
2.vue指令 v-bind v-on v-model
1 <select name="" id="" v-model="selected"> 2 <option value="" disabled>请选择</option> 3 <option value="html">html</option> 4 <option value="js">js</option> 5 <option value="vue">vue</option> 6 </select> 7 {{ selected }} 8 当选择option ,selected值同步更新
1 const vm = new Vue({ 2 el: ‘#app‘, 3 data: { 4 show: true, 5 test: "隐藏", 6 num: 0 7 } 8 }) 9 10 <div id="app"> 11 <div class="box red" v-if="show"></div> 12 <div class="box yellow" v-else></div> 13 <template v-if="show"> 14 <!-- template不会加载到dom中 所以template中可以使用v-if 不可以使用v-show--> 15 <div class="box red"></div> 16 <div class="box yellow"></div> 17 </template> 18 <div class="box black" v-show="!show"></div> 19 </div>
4.v-for 遍历数组
<li v-for="fruit in fruits" key="fruit.id">{{ fruit.fruitName }}</li>
5.侦听器,计算属性
watch 侦听器 computed 计算属性,vue内对象
1 const vm = new Vue({ 2 el: ‘#app‘, 3 data: { 4 // value:‘老王‘ 5 name:‘老王‘, 6 age:‘21‘, 7 hobby:‘play‘, 8 // desc:‘姓名:老王,年龄:21‘ 9 }, 10 watch:{ 11 name(){//监听name改变 12 console.log(‘name‘); 13 this.desc = `姓名:${this.name},年龄:${this.age}`; 14 }, 15 age(){//监听age改变 16 console.log(‘age‘); 17 this.desc = `姓名:${this.name},年龄:${this.age}`; 18 } 19 }, 20 computed:{ 21 desc(){//name或者age改变都会执行此方法,在插值表达式直接使用desc 22 console.log(‘desc‘); 23 return `姓名:${this.name},年龄:${this.age}`; 24 } 25 } 26 })
6.组件
全局组件
1 Vue.component(‘helloWorld‘, { 2 data(){ 3 return { 4 msg: ‘hello world‘ 5 }; 6 }, 7 template: ` 8 <div> 9 <button @click="handleClick">点击</button> 10 <span>{{ msg }}</span> 11 </div> 12 `, 13 methods:{ 14 handleClick (){ 15 this.msg = ‘haha‘; 16 } 17 }
在html中引用helloWorld即可
<hello-world></hello-world>
上面代码等于组件的template中的代码
<div> <button @click="handleClick">点击</button> <span>{{ msg }}</span> </div>
局部组件
const vm = new Vue({ el: ‘#app‘, data: { }, components:{//局部组件 hello:{ template: ` <div> <span>hello</span> </div> ` } } })
标签:close yellow number 字符串 none 优先级 OLE sel asc
原文地址:https://www.cnblogs.com/seekknowledge/p/11686868.html