序言:核心还是后端开发------->web开发----->重点在:网页渲染,数据交互,表单验证
补充:UI框架(css bootstrop-jquery element-vue) 数据显示框架(vue react angular) 获取数据(ajax axios) 服务器架构(nodeJS python服务器 mysql )
1案例:tab重做
-
步骤:确定盒子,按钮绑定事件,数据改变,盒子改变
-
Vue改写:1-选择最大的盒子 2-数据控制 3-class的条件表达式
-
var tab_con = new Vue({ el:\'.tab_con\', data:{ num:0 }, methods:{ } }) <input type=\"button\" @click=\"num=0\" :class=\"[(num==0)?\'active\':\'\']\"></input> <div :class=\"[(num==0)?\'current\':\'\']\"></div>
2.Vue控制style----格式 :style=“字典,对象,列表”
-
以字典,对象,列表(多个对象的引用)形式
---行内式css style=\"color:red font-size:20px\"--- <div class=\"box\"> </div> var my_vue = new Vue({ el:\".box\", data:{ mycolor:\"red\", myfontsize:\"20px\", myobj1:{ color:\"green\", fontSize:\"20px\" }, myobj2:{ background:\"blue\" } } })
3.条件渲染------->控制标签的显示与隐藏
-
bool型–控制条件 v-if=“false” 删除标签隐藏
-
v-if v-else 与多重渲染 v-if v-else v-else-if
-
v-show=\"true\"显示 v-show=\"false\"隐藏---->style=“display:none” 只能控制一个标签
-
var myVue = new Vue({ el:\"\", data:{ bool1:true, bool2:false, type:\"a\" } }) <div v-if=\"bool1\">v-if</div> <div v-else>v-else</div> -----多重控制------ <div v-if=\"type==\'a\'\">v-if</div> <div v-else-if=\"type==\'b\'\">v-else</div> <div v-else>v-else</div>
4.列表渲染和对象渲染==>循环增加标签显示迭代内容
-
v-for=“临时变量 in 序列” v-for=\"(临时变量1,临时变量2) in 序列\" 变量1=数据 变量2=下标
-
对象中只有一个变量=value或变量1=value 变量2=key
-
临时变量只在当前标签内部使用
-
var myvue = new Vue({ el:\"\", data:{ lst1:[1,2,3,4,5], obj:{\"name\":\"laowang\",\"age\":50} } }) <li v-for=\"i in lst1\">{{i}}</li> <li v-for=\"(i,j) in obj\">value{{i}}key{{j}}</li>
5.获取表单数据
-
v-model=“变量”---->将表单内的value值传递个data内的变量
-
数据是双向绑定的,标签内value<=====>data内变量
-
单项:数据改变==>页面改变 双向: 在表单元素中 数据改变<==>页面改变
-
var myvue = new Vue({ el:\"\", data:{ myval:\"\", myopt:0 } }) <input type=\"text\" v-model=\"myval\"> <p>{{myval}}</p> <select v-model=\"myopt\"> <option value=0>111</option> <option value=1>222</option> <option value=2>333</option> </select> -
案例:单选和复选练习
6.案例:聊天页面
-
列表套字典存储数据{person:A,sentence:“ni hao”}
-
获取a说value 和 对话的value
-
v-for显示对话内容 :class控制显示风格
-
点击绑定增加数据内容
-
var myvue = new Vue({ el:\"\", data:{ lst1:[], person1:0, sentence1:\"\" }, methods:{ fnSay:function(){ var person2 = [this.person1?\'B\':\'A\']; this.lst1.push({person:person2,sentence:this.sentence1}); } } }) <li v-for=\"i in lst1\" :class=\"[person1?\'B\':\'A\']\">{{i.person}}:{{i.sentence}}</li>
7.案例
TODO–list
- 确定v-for显示的列表
- 确定显示的列表数据
- 增加列表,列表的数据来源value
- 删除列表
- 移动列表内的数据排序
8.生命周期
-
Vue对象创建过程中的钩子函数
-
搭建空架构—填充内容—绑定控制标签 数据,方法----mounted
-
重点在mounted,Vue对象在标签生效后,相当于第一个执行的函数,用来获取数据和显示数据
-
mounted:function(){ axios({ url:\"\",-------链接路径 method:\"get/post\", }).then(function(data){ 在这里this指向window,使用对象直接使用对象名 }).catch(function(err){ console.log(err) }) }
9.axios取数据案例:
-
确定循环的数据,循环显示的标签行
-
通过axios获取数据 将数据加入Vue的data中
-
查看获取过来的数据
-
var vm = new Vue({ el:\"\", data:{ lst:[] }, methods:{ }, mounted:function(){ _this = this; axios({ url:\"/index_data\", method:\"get\" }).then(function(data){ console.log(data); vm.lst = data.data; 或者 _this.lst = data.data }) } }) <tr v-for=\"i for i in lst\"></tr>
继续阅读与本文标签相同的文章
无人车是怎样一步步学会开车的? | 自动驾驶科普
ViewPager自定义轮播图
-
中国快递惊呆德国人,表示要以中国为榜样,学习这项黑科技
2026-05-18栏目: 教程
-
阿里云数据库RDS通用型和独享型区别在哪?如何选择?
2026-05-18栏目: 教程
-
如何选购配置云数据库RDS MySQL 的流程 新手必看
2026-05-18栏目: 教程
-
跨境电商女装开发风向标
2026-05-18栏目: 教程
-
线上线下场景全方面打通,小程序成为家居行业的新卖点!
2026-05-18栏目: 教程
