Vue09-总结
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .colorRed { color: red } .colorGreen { color: green; font-size: 50px; } /*案例样式*/ .list_con{ width:600px; margin:50px auto 0; } .inputtxt{ width:550px; height:30px; border:1px solid #ccc; padding:0px; text-indent:10px; } .inputbtn{ width:40px; height:32px; padding:0px; border:1px solid #ccc; } .list{ margin:0; padding:0; list-style:none; margin-top:20px; } .list li{ height:40px; line-height:40px; border-bottom:1px solid #ccc; } .list li span{ float:left; } .list li a{ float:right; text-decoration:none; margin:0 10px; } </style> <script src="static/vue.js"></script> <script src="static/jquery-1.12.4.min.js"></script> <script> window.onload = function () { var vm1 = new Vue({ el: '.tra', data: { content: '我是一个div', url: 'picture/5.jpg', count: 0, // type:false, type: true, type_one: { "color": "gold", "font-weight": "bold" } }, methods: { fnAddClick: function () { this.count += 1; } } }); var vm2 = new Vue({ el: '.box', data: { // name:"张三6", name: '张三', age: 18, isShow: false } }); var vm3 = new Vue({ el:'#list1', data:{ dataList:['A','B','C','D','A','B','C','D'], dictData:{ name:"张三", age:18, gender:true }, // 列表嵌套若干个 字典 dictList:[ { name:"张三", age:18, gender:true }, { name:"王五", age:18, gender:true }, { name:"李四", age:18, gender:true } ] } }); var vm4 = new Vue({ el:".app", data:{ username:"原始数据", address:"A", like:[] } }); var vm5 = new Vue({ el:'.list_con', data:{ // 输入框的内容 inputContent:"", // 列表的内容 dataList:['学习html','学习css','学习javascript'] }, methods: { // 1.增加数据 fnAdd:function (){ // 1.判空 if (this.inputContent == "") { alert('不能输入为空!') return } // 2.增加数据 this.dataList.push(this.inputContent) // 3.清空输入框 this.inputContent = "" }, // 2.删除数据 fnDel:function (index){ // 1.能增 能删 指定位置 // 参数1: 下标 // 参数2: 删除的个数 // 参数3: 增加内容 this.dataList.splice(index,1) }, // 3.上排序 fnUp:function (index){ // 3.1 根据下标获取当前数据 var currentData = this.dataList[index] // 3.2 删除当前的数据 this.dataList.splice(index,1) // 3.3 重新在上一个下标插入数据 this.dataList.splice(index-1,0,currentData) }, // 4.下排序 fnDown:function (index){ // 3.1 根据下标获取当前数据 var currentData = this.dataList[index] // 3.2 删除当前的数据 this.dataList.splice(index,1) // 3.3 重新在下一个下标插入数据 this.dataList.splice(index+1,0,currentData) } }, }); // 箭头函数 // 作用: this指向了 window箭头函数 改回来 // 点击按钮 1秒之后 谈提示框 // oBtn = document.getElementById('btn'); // // oBtn.onclick = function () { // console.log('在定时器之前----'+this); // setTimeout( ()=> { // alert('箭头函数') // console.log('在定时器🐵🐵----'+this) // this.style.backgroundColor = 'red' // },1000) }; </script> </head> <body> <!--基本属性操作{{}}, v-bing, v-on--> <div class="tra"> <div>{{content}}</div> <img v-bind:src="url" style="width: 200px;height:300px"> <button v-on:click="fnAddClick">计数器:{{count}}</button> <p v-bind:class="type?'colorRed':'colorGreen'">2.三目运算 条件?'1':'2'</p> <p v-bind:class="type?'colorRed':'colorGreen'" v-bind:style="type_one">2.三目运算 条件?'1':'2'</p> </div> <!--if else判断 v-if --> <div class="box"> <!-- 3.v-show 显示和隐藏 display --> <p v-show="isShow">3.v-show 显示和隐藏 display </p> <!-- 2.多条件 判断 age --> <p v-if="age == '18'">少年</p> <p v-else-if="age == 20">青年</p> <p v-else-if="age == 30">中年</p> <p v-else>老年</p> <!-- 1.单条件 v-if 创建和删除--> <p v-if="name=='张三'">1.单条件 v-if</p> <p v-else>李四的底盘</p> </div> <!-- 列表渲染 v-for --> <ul id='list1'> <!-- 遍历list字典 --> <li v-for="dict in dictList"> {{ dict.name }}</li> <!-- 2.遍历字典--object --> <li v-for="(value,key) in dictData">{{ key }}-----{{ value }}</li> <li v-for="value in dictData">{{ value}}</li> <!-- 1.遍历列表 --> <li v-for="(item,index) in dataList">{{ index }} ----- {{ item }}</li> <li v-for="item in dataList">{{ item }}</li> <!-- <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> --> </ul> <!--双向绑定 v-model--> <div class="app"> <input type="checkbox" name="lk" value="吃饭" v-model='like'>吃饭 <input type="checkbox" name="lk" value="睡觉" v-model='like'>睡觉 <input type="checkbox" name="lk" value="打豆豆" v-model='like'>打豆豆 <p>{{like}}</p> <!-- 下拉列表 --> <select v-model="address" name="" id=""> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> </select> <p>{{ address }}</p> <!-- 2.v-model 双向绑定 --> <input type="text" v-model="username"> <p>{{ username }}</p> <!-- 1.单绑 --> <input type="text" v-bind:value="username"> <p>{{ username }}</p> </div> <!--todolist案例--> <div class="list_con"> <h2>To do list</h2> <input v-model="inputContent" type="text" name="" id="txt1" class="inputtxt"> <input v-on:click="fnAdd" type="button" name="" value="增加" id="btn1" class="inputbtn"> <ul id="list" class="list"> <li v-for="(item,index) in dataList"> <span>{{ item }} </span> <a @click="fnUp(index)" href="javascript:;" class="up"> ↑ </a> <a @click="fnDown(index)" href="javascript:;" class="down"> ↓ </a> <a @click="fnDel(index)" href="javascript:;" class="del">删除</a> </li> <!-- <li><span>学习html</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li> <li><span>学习css</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li> <li><span>学习javascript</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li> --> </ul> </div> <!--箭头函数--> <button id="btn">点击按钮 1秒之后 谈提示框</button> </body> </html>