学Vue1
- 学习教程链接:
b站黑马程序员四小时入门教程 - 老师说学vue最好的方法是看官方文档,有中文版,真的很友好!链接在这里:vue官方介绍文档
Vue简介
- JavaScript框架
- 简化Dom操作
- 响应式数据驱动
Vue基础
04.el挂载点
el的作用:
el是用来设置Vue实例挂载(管理)的元素
el作用范围
Vue会管理el选项命中的元素及其内部的后代元素
是否可以使用其他选择器
可以是类选择器,id选择器,还可以是标签选择器,一般建议用id选择器,因为它是唯一的
是否可以设置其他dom元素?
可以使用其他双标签,不能使用html和body
05.data数据对象
- Vue中用到的数据定义在data中
- data中可以写复杂类型的数据
- 渲染复杂类型的数据时,遵守js语法即可(如对象的点语法,数组的索引语法)
上课代码如下
网页结果:
本地应用
06.介绍
- 1.内容绑定,事件绑定
- 2.显示切换,属性绑定
- 3.列表循环,表单元素绑定
学习目标:
- 通过vue实现常见的网页效果
- 学习vue指令,以案例巩固知识点
- vue指令指的是以v-开头的一组特殊语法
07.v-test指令
- v-test:设置标签的文本值
- 默认写法会替换全部内容,使用插值表达式{{ }}可以替换指定内容
- 内部支持写表达式
08.v-html指令
- 作用:设置标签的innerHTML
- 内容中有html结构会被解析为标签
- v-text指令无论内容是什么,只会解析为文本
- 解析文本内容使用v-text,需要解析html结构使用v-html
v-on指令
- 为元素绑定事件
- 事件名不需要写on
- 指令可以简写为@
- 绑定的方法定义在methods属性中
- 方法内部通过this关键字可以访问定义在data中的数据
点击“西兰花炒蛋”:
10.计数器
- 创建vue示例时:el(挂载点),data(数据),methods(方法)
- v-on指令的作用是绑定事件,简写作@
- 方法中通过this关键字获取data中的数据
- v-text指令的作用是设置元素的文本值,简写为{{}}
- v-html指令的作用是设置元素的innerHTML
11.v-show指令
突发报错:控制台不停报错’Vue’ is not defined
刚才宿舍突然跳闸大概停了两分钟电,然后原本能用的网页突然就没有动态效果了,还出现上面的报错,然后我发现是因为网断了,联网之后又可以了!!!
- v-show指令的作用:根据真假切换元素的显示状态
- 原理是修改display,实现显示隐藏
- 指令后面的内容,最终都会解析为布尔值
- 值为true元素显示,值为false元素隐藏
- 数据改变之后,对应元素的显示状态会同步更新
12.v-if指令
- 根据表达值的真假,切换元素的显示和隐藏(操纵dom元素)
- 本质是通过操纵dom元素来切换显示状态
- 表达式的值为true,元素存在于dom树中,为false,从dom树中移除
- 频繁的切换v-show,反之使用v-if,前者的切换消耗小
13.v-bind
- 设置元素的属性(比如:src,title,class都写在元素内部)
- 完整写法:v-bind:属性名
- 简写的话可以省略v-bind,只保留:属性名
- 需要动态的增删class建议使用对象的方式
14.图片切换
- 列表数据使用数组保存
- v-bind指令可以设置元素属性,比如src
- v-show和v-if都可以切换元素的显示状态,推荐v-show,消耗少
图片切换用数组加改src实现!!!
没有放出来的网页图,因为布局的css还没写,出来的网页比较丑
15.v-for指令
- 作用:根据数据生成列表结构
- 数组经常和这个指令结合使用
- 语法是(item,index)in数据
- item和index可以结合其他指令一起使用
- 数组长度的更新会同步到页面上,是响应式的
16.v-on指令补充
- 事件绑定的方法写成函数调用的形式,可以传入自定义参数
- 定义方法时需要定义形参来接收传入的实参
- 时间的后面跟上.修饰符可以对事件进行限制
- .enter可以限制触发的按键为回车(这个修饰符不止这一种,还有很多可以在这里看:[.修饰符](https://cn.vuejs.org/v2/api/#v-on
17.v-model指令
- 获取和设置表单元素的值(双向数据绑定)
- 绑定的数据会和表单元素相关联,他俩双向绑定,无论修改谁,另外一个都会同步更新
18-23.小黑记事本
- 功能:
-
新增:
1.生成列表结构(v-for数组将数组和列表进行关联)
2.获取用户输入(v-model)
3.回车新增数据(v-on,enter添加数据)
-
删除
- 点击删除指定内容
- 数据改变,和数据绑定的元素同步改变
- 时间的事件的自定义参数
- splice方法的作用是根据索引删除指定的元素
-
统计
- 统计信息个数(v-text length)
- 基于数据的开发方式
- 增删可以同步更新
- 本质是把数组的长度通过v-text指令渲染到页面上
-
清空
- 点击清除所有信息(v-on)
- 本质是清空数组
-
隐藏
- 没有数据栏时隐藏最下面的统计栏(v-show v-if数组非空)
- 没有数据栏时隐藏最下面的统计栏(v-show v-if数组非空)
-
- 总结:
- 列表结构可以通过v-for指令结合数据生成
- v-on结合事件修饰符可以对事件进行限制,比如.enter
- v-on再绑定事件时可以传递自定义参数
- 通过v-model可以快速的设置和获取表单元素的值
- 基于数据的开发方式
网络应用
vue结合网络数据开发应用:
- axios网络请求库
- axios+vue
- 天气预报案例
25.axios基本使用
- axios必须先导入才能使用
- 使用get或post方法即可发送对应的请求
- then方法中的回调函数会在请求成功或失败时触发
- 通过回调函数的形参可以获取响应内容
- axios官方文档
26.axios+vue
- axios回调函数中的this已经改变,无法访问到data中的数据
- 把this保存起来,回调函数中直接使用保存的this即可‘
- 和本地应用最大的区别就是改变了数据来源,一部分用了网络数据
27-29网络应用-天知道
- 回车查询
- 1.按下回车(v-on,.enter)
- 2.查询数据(axios接口v-model)
- 3.渲染数据 (v-for数组 that)
- 应用的逻辑代码建议和页面分离,使用单独的js文件编写
- axios回调函数中this指向变了,需要额外的保存一份
- 服务器返回的数据比较复杂时,获取的时候需要注意层级结构
- 点击查询
- 1.点击城市(v-on自定义参数)
- 2.查询数据(this方法直接调用回车查询里面写好的函数)
- 3.渲染数据
- 自定义参数可以让代码的复用性更高
- methods中定义的方法内部,可以通过this关键字点出其他的方法
同时在城市对应的li标签上标好:@click=“changeCity(‘城市名’)”
(因为没有加css样式,所以比较丑嘿嘿嘿)
30.综合应用
要实现的功能:
-
1.歌曲搜索
- 1.按下回车(v-on,.enter)
- 2.查询数据(axios接口v-model)
- 3.渲染数据 (v-for数组 that)
-
2.歌曲播放
-
3.歌曲封面
-
4.歌曲评论
-
5.播放动画
-
6.mv播放