Vue.js
2021-01-22 10:37:15 33 举报
AI智能生成
vue总结
作者其他创作
大纲/内容
基础语法
简介
定义
Vue 是渐进式 javascript 框架: 让我们通过操作很少的 DOM,甚至不需要操作页面中任何 DOM 元素,就很容易的完成 数据和视图绑定、双向绑定 MVVM。
MVVM 架构 双向绑定机制<br>Model:数据 Vue实例中绑定数据<br>View:页面 页面展示的数据<br>VM:ViewModel 监听器
特点
易用 html css javascript
高效 开发前端页面 非常高效
灵活 开发灵活 多样性
下载 Vue<br>
开发版本 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
生产版本 <script src="https://cdn.jsdelivr.net/npm/vue"></script>
{{}}:插值表达式
Vue 实例对象中 el 属性:代表 Vue 的作用范围,在 Vue 的作用范围内都可以使用 Vue 的语法。
Vue 实例对象中 data 属性:用来给 Vue 实例绑定一些相关数据,绑定的数据可以通过 {{ xx }} 在 Vue 作用范围内取出。
在使用 {{ xx }} 进行获取 data 中数据时,可以在 {{ }}中书写表达式、运算符、调用相关方法以及逻辑运算等
el 属性中可以书写任意的 CSS选择器[jquery选择器],但是在使用 Vue 开发推荐使用 id选择器。
v-text:显示文本
用来获取 data 中数据将数据以文本的形式渲染到指定标签内部,类似于 javascript 中 innerText
{{ xx }}(插值表达式)和 v-text 获取数据的区别
使用 v-text 取值会将标签中原有的数据覆盖,<br>插值表达式的形式不会覆盖标签原有的数据
使用 v-text 可以避免在网络环境较差的情况下出现插值闪烁。
v-html:显示解析html标签的文本
用来获取 data 中数据将数据中含有的 html 标签先解析在渲染到指定标签的内部,类似于 javascript 中 innerHTML
v-on:事件绑定
v-on:click 可以简化成 @click
事件函数可以简写,dowork: function() {} 可以简写成 dowork() {}
v-show:控制页面元素隐藏与显示(display控制)
v-show:用来控制页面中某个标签元素是否展示,底层通过控制元素的 display 属性来进行标签的显示和不显示控制。
特点
在 v-show 中可以直接书写 boolean 值控制元素展示
在 v-show 中可以通过 变量 控制标签展示和隐藏。
在 v-show 中可以通过 boolean表达式 控制标签的展示和隐藏。
v-if:控制页面元素隐藏与显示(dom操作)
v-if:用来控制页面中的标签元素是否展示,底层通过对 dom 树节点进行添加和删除来控制展示和隐藏。
v-bind:绑定标签的属性
v-bind : 属性 可以简写成 : 属性
v-for:遍历对象
在使用 v-for 的时候一定要注意加入:key 用来给 Vue 内部提供重用和排序的唯一 key
遍历时可以获取 索引 index、…
v-model:实现双向绑定
定义:用来绑定 标签元素的值 与 vue实例对象中data数据 保持一致,从而实现 双向的数据绑定机制。
所谓双向绑定,就是表单中数据变化导致 vue 实例 data 数据变化,vue 实例中 data 数据的变化导致表单中数据变化。
事件修饰符<br>
修饰符作用:用来和事件连用,决定事件触发条件或者是阻止事件的触发机制。<br>
.stop:用来阻止事件冒泡。<br>.prevent:用来阻止标签的默认行为。<br>.capture<br>.self:只触发自己标签的上特定动作的事件,不监听事件冒泡。<br>.once:让指定事件只触发一次。<br>.passive
按键修饰符<br>
作用:用来与键盘中按键事件绑定在一起,用来修饰特定的按键事件的修饰符。<br>
常用按键修饰符:@keyup.xxx="function "<br>
.enter<br>.tab (捕捉通过tab跳转到当前按标签)<br>.delete (捕获“删除”和“退格”键)<br>.esc<br>.space<br>.up<br>.down<br>.left<br>.right
Axios 基本使用<br>
引入Axios
https://unpkg.com/axios/dist/axios.min.js
GET方式的请求<br>
axios.get('http://localhost:8989/user/findAll?name=zhangsan')<br> .then(function (response) {<br> console.log(response.data);<br> }).catch(function (err) {<br> })
POST方式的请求<br>
axios.post("http://localhost:8989/user/save", {<br> id: "996",<br> }).then(function (response) {<br> }).catch(function (err) {<br> });
并发请求
axios.all([findAll(), save()]).then(<br> axios.spread(function (res1, res2) {<br> console.log(res1.data);<br> console.log(res2.data);<br> }));
Vue 生命周期<br>
生命周期钩子 (lifecycle hooks)<br>
生命周期函数
beforeCreate 组件没有创建之前触发<br>created 组件创建完成没有渲染时触发<br>beforeMount 组件渲染之前触发<br>mounted 组件渲染之后触发<br>beforeUpdate data改变,组件更新前触发<br>updated data改变,组件更新后触发<br>beforeDestroy 组件销毁之前触发<br>destroyed 组件销毁之后触发
0 条评论
下一页