前端02.vue学习笔记

02.vue 详细学习(bilibili视频codewhy老师+尚硅谷教学视频汇总)

● 排版和图片若有问题请直接查看此网址 点我

问题汇总

● 1.vue何时是字符串 何时是变量

加单引号是字符串 不加单引号是变量

● 2.字面量增强写法

img

● 3.组件名千万不可大写

v-bind不支持大写

驼峰标识需要更换为-+ 小写

● 常见框架

● vue

● react

● Anjular

● 00-ES6补充

● 01-块级作用域

● var无块级作用域 如if for 仅function内部可以有块级作用域(不受外部控制) 容易出现命名冲突的情况

● ES6中的let是有块级作用域的

● 写法1:ES5 var错误写法1

img

● 写法2:ES5中使用闭包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NEnS0Wrn-1621664285094)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image461.gif)]

● 写法3:块级作用域 使用let代替varjik=5

● 02-const赋值(定义对象的话内部属性可以修改)

img

● 01-03 vue初体验 插件(json_handle**)+vue基础指令**

● 01.理解vue的框架核心

● 01.MVVM

img

● 02.vue MVVM 数据驱动视图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UdHetk4c-1621664285100)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image461.gif)]

img

● 02.简单导入vue 编写一个Helloworld (数据以对象定义 组件化中数据必须以函数方式定义 函数以key:function的方式定义)

● 遇到的问题

● 1.挂载时vue路径不对 需要手动导入js文件?

● 2.el挂载id时需要添加#号

● 01.导入Vue(区分大小写) + 新建类 new vue const+let定义变量 el定义作用域

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zZbJnD0i-1621664285103)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image461.gif)]

● 02.vue优势 原始html;网页 命令式 vue:声明式(可以做到div 和 javascript的分离) vue响应式 (改代码 界面自动换)

● 03.总结

img

img

● 03.vue列表实例

● 04.vue计数器实例(涉及函数的定义与调用+vue中this指向)

● 01.文字总结

img

● 02.实现代码(附加代理的概念)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HoKEopWy-1621664285109)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image002.gif)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-geOHMNLq-1621664285111)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image002.gif)]

● 05.vue中的option可填充选项

● 对象里的函数都是方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l5UMHIAi-1621664285112)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image002.gif)]

● 06.vue的生命周期

● 定义:一个生命从诞生到结束 很多过程函数以回调函数的方式触发 也叫钩子函数

● 调用的位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sEbJrmi5-1621664285114)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image475.gif)]

● 03.常用的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wMiAcccb-1621664285115)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image475.gif)]

● 07.vue基础指令

● 01.胡子指令 Mustache

● {{}}

● 02.v-once指令 {{}}只执行一次

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ka9LcAsM-1621664285117)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image475.gif)]

● 03.v-html 解析指令

img

● 04.v-text 对比{{}}不太灵活

img

● 05.v-pre 原封不动的解析指令

img

● 06.v-cloak 当成一种属性来用 cli里面基本用不到

img

● 07.v-bind 动态绑定属性 (字符串=变量)

● 1.特殊属性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gZxtsVNL-1621664285141)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image012.gif)]

● 2.绑定class 通过对象的方式进行类的管理 {}里面-------对象语法 (嫌弃写的长的话 可以放入methods里 return)

● v-bind:class="{‘pictureGray’: isTop}"

img

● 3.绑定class 数组语法 用的比较少–因为属性只能写死(很多情况下用于组件化得样式定制)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7KCfik9V-1621664285150)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image012.gif)]

● 4.绑定样式 --------对象语法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8HzyYZMa-1621664285152)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image012.gif)]

● 5.绑定样式 --------数组语法

img

● 08.总结

img

● 04-计算属性compute

● 01-基础使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QQpqrbXy-1621664285162)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image062.gif)]

● 02-复杂使用(for循环遍历)

img

● 03-计算属性的set和get

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lnSCEd2V-1621664285172)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image062.gif)]

● 04-计算属性的缓存(与method的区别 多次使用时 只会调用一次)

● 计算属性只有在数据变化的时候才会变化

● 05.使用实例

img

● 04-.监听属性watch

● 05-事件监听 v-on 遗漏 监听函数时传入的参数问题(event $)

● 02事件冒泡 修饰符

● 01阻止事件冒泡 .stop

● divcliclik在按钮按下不会触发

img

● 02阻止默认事件 .prevent

img

● 03监听按键按下 .keyup.enter

img

● 04 once修饰符

img

● 06-条件判断 v-if

● 01-v-if基础使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Imqz9gOt-1621664285184)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image064.gif)]

● 02-v-if和v-else结合使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EPs0yqG6-1621664285187)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image064.gif)]

● 03-v-if和v-else-if和v-else的结合使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ne3pKNyj-1621664285190)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image064.gif)]

● 04-做一个动态切换的界面

img

● 05-处理一些小问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A4O5DS3I-1621664285194)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image018.gif)]

img

● 06-v-show的使用 切换频率高的话 用 v-show

img

img

● 07-循环遍历 +splice****数组操作

● 01-v-for遍历数组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RTzqz9cg-1621664285202)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image094.gif)]

● 02 v-for遍历对象

img

● 03-v-for使用过程添加key splice

● 1.语法 splice

● 数组增加元素 .push(最后部分添加)

img

● 中间插入元素 splice

● 1.删除元素

img

● 2.增加元素

● 第二个序号需要为0

img

● splice函数的特性

● 总而言之 第一个参数决定位置 第二个参数决定删除几个元素 第三个参数决定替换的参数

img

● 插入元素 虚拟dom的格式 以及增加key后插入元素的方式有所区别

img

● 3.一些响应式和非响应式的方法

img

● 课程作业 按键切换样式 用v-for和:style实现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t48ucsAy-1621664285218)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image088.gif)]

● 08-购物车案例

● 写基本样式

● table

img

● toFixed(2)取小数后两位

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tDuf8Z4m-1621664285223)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image088.gif)]

● 过滤器取小数点后两位

● filters

img

img

● 对数组对象里面的某个数据进行修改-----传参法

img

● 按钮按下不能触发

img

● 删除对象指定的一列

● 这里的index是0 开始的 index+1为id

img

● 计算属性 + for循环 计算总价

img

● 增强for循环

img

● 高阶函数

● 三个基础的案例

img

● filter/map/reduce

● filter**----------**对数组内元素进行批量过滤

img

img

● map—对数组内元素进行批量操作

img

img

img

● reduce

img

● 优势 一行代码完成所有

img

● 09-表单绑定 双向绑定的体现

● 01-v-model的基础使用 v-text

img

● 02-v-model的原理

● v-model为用户所做的两个步骤

● 1.数据绑定界面 2.界面绑定数据

img

● 2.简写方式

img

● 03-v-model结合radio类型使用

● 01-写一个男女互斥的选择radio

img

● 02-使用v-model绑定按钮 当选择的按钮按下后 v-model绑定的数值进行更新 (1.input 如果绑定了同一个v-model name无需一致即可完成选择radio的互斥)(2.默认为男(给sex的值添加一个初始数值"男"))

img

● 04-v-model结合checkbox类型

img

● 05-v-model绑定select类型

img

● 06- 04的拓展 值绑定-----简写

img

● 07-v-model 修饰符 (对输入的数据进行相应改动)

● lazy

img

● number

img

img

● trim

● 去除空格

img

img

● 10-组件化+组件间的通信

● 组件化的概念 组件注册的步骤

● 组件化的一般概念 降低页面间的耦合度

img

● vue组件化的思想—组件的划分(组件树)

img

● 组件注册的步骤

img

img

● 01注册一个全局组件并使用 使用vue.extend的方式 一般已经不用

img

● 02 全局组件(可在多个实例同时调用)与局部组件(在实例中定义)的对比 一般创建局部组件即可,毕竟只有一个实例

img

● 03-父组件和子组件的概念(父组件不会自动调用子组件)

img

● 04-组件的语法糖注册方式 (省去了extend步骤 直接组注册时将模板写好)

● 语法

img

● 代码

● 之前

img

● 语法糖写法

img

● 05-组件模板的分离写法 目的是script中不写html标签

img

img

● 06-组件中数据的存放问题

● **01.**现有问题 vue组件无法访问顶层实例的数据 因为如果可以访问,代码会变得臃肿

img

02.**解决思路 需要创建一个数据函数** 返回一个对象 对象中有各种属性

● 用意 数据如果不写成函数的形式 则不同组件间数据会相互调用

img

● 07-组建中的data为什么是函数 (对于06的补充)

当写成对象时 不同组件调用数据时,数据间会相互影响 写成函数的话每次返回一个实例对象 定义的每个组件都有自己的一个空间

微信回答

● 为什么组建中的data是一个函数:如果data是一个对象,那么每次这个组件被调用的时候,使用data中的数据时,就相当于返回了data这个对象,这样每个组件内存中的指向都这个data对象,他们的指针是一样的,这时候改变任意一个组件,其他组件中的数据也会被更改,这是我们不希望看到的。而当data是一个函数,每次使用这个组件中的data,就相当于调用了这个data函数,而函数每次被调用时内存中都会开辟一个新的地址,而每个组件都指向不同的地址,所以改变任意一个组建的data,不会影响到别的组件的data,这才是我们希望看到的。

● 08-组件通讯 父组件向子组建传递数据 (一般props使用对象写法)

● 01-应用场合及原理+使用实例

img

img

● 02-cli式写法

● 子组件需要添加props

img

img

● 09-组建通信-父传子(props中的驼峰标识 对于08的补充 貌似没啥用

● 3.组件名千万不可大写

● v-bind不支持大写 现在的版本貌似以及支持

● 驼峰标识需要更换为-+ 小写

● 10-组件通信-子传父

img

● 11-组件通信-父子组建通信案例(子组件不能跨过父组建去修改props里的数值 会爆错)

● 完成一个实例 子组件将input输入的数值传入父组件并且谢修改父组件中的值

img

● java数据转换 转换为数字 *一个数字 方法2 parseFloat

img

● 12-组件通信-父子组件通信案例(watch实现 watch可用于监听某个属性的改变)

img

13****组件访问-父访问子- c h i l d r e n 和 children和 childrenref(引用) 一般用于父组件访问子组件中的方法

img

● 14组件访问-子访问父-parent-root

img

● 11-组件化高级—slot插槽(父组件改变子组件的渲染形式)

● 01-slot-插槽的基本使用 让封装的组件具有扩展性—结构一致,内容不同

img

● 作用域插槽slot

img

● 02-slot-具名插槽的使用

img

img

● 03-如何判断编译的作用域

img

● 04-作用于插槽的案例

img

img

● 12-前端模块化

● 01-为什么要有模块化

● 很大程度上规避变量重名和函数重名问题

● 02-ES6的模块化实现

● import export

● 导出exoprt

img

img

● 导入import

img

● 13-webpack的使用

● 01-webpack的起步

img

● 02-webpack的配置

img

img

img

img

● 2.1.使用不同的规范进行文件调用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VxUTBgdb-1621664285341)(https://gitee.com/xue_jin_tao/cloud_/raw/master/img/clip_image230.gif)]

img

img

img

● 03-webpack的loader 处理样式等加载文件的打包

img

img

● 04-webpack配置vue

● 05-webpack的Plugin

● Plugin:插件

● 增加版权信息的说明

img

● 14.vuecli2.0+vuecli3.0 的使用(创工程)

● 01.the oled

● vue cli运用概念与安装步骤

● 3种安装方式

img

● 脚手架npm引入的方式

img

● 01.安装node 集成npm

● https://www.cnblogs.com/xuhuale/p/10167159.html

● 02.安装vuecli

● 上官网教程即可

● 拉取vuecli2,0

img

img

● 不同版本的初始化方式

img

● 创工程步骤 做毕设时的版本

https://www.bilibili.com/video/BV15741177Eh?p=150

● 1.vue create my-bishe 空格取消

img

● 2.选择配置

img

● 3独立配置参数

img

● 4.一路确认

● 5.运行代码

● npm run serve

img

● 目录解析

img

● 安装 element

● vue add element

https://www.jianshu.com/p/4014c68fa05e

img

● 清除不必要的文件 最终

● 01.vuecli2.0创工程步骤 7.30日复习

● 01.基础信息配置 项目名称等

img

● 02.编译方式

img

● 03.是否配置路由

img

● 04.是否对代码进行限制

img

img

● 05.是否对代码添加单元测试

img

● 06.是否采用端到端测试

img

● 07.选择编译管理的工具

img

● 汇总

img

● 02.对于创建的工程的目录的大致框架解析

img

● 03.Runtime Compiler和 Runtime-only的区别

img

img

● 02.vuecli 3.0

01.vuecli3.0****创工程的步骤 vue create my-bishe

● 01.选择自动配置还是手动配置

img

● 02.空格键控制选中取消某个选项

img

● 2.选择配置

img

● 3独立配置参数

img

● 4.一路确认

● 5.运行代码

● npm run serve

img

● 目录解析

img

● **02.**对于vuecli3.0的目录解析

img

● 15 .认识vuecli3 包含vue router

● 01 main.js-----函数代码入口

img

img

● 02 vue.configure-----独立配置参数

img

● 03 关于 vue-cli路由(网页路径的切换 = 组件的切换)

● 01.什么是路由 路由的概念

通过互联的网络将网络信息从原地址传输到目的地址

img

● 02.前端渲染和后端渲染的区别

img

● 03.路由的作用

img

img

● 04.如何实现页面跳转但是页面不刷新

● 01.hash方式

img

● 02.history方式

● 01.history.pushState方式进行网页跳转

img

img

● 02.history,replaceState方式进行网页跳转 不可退回

img

● 03.history.go()方式很像网页跳转

img

img

● 05.认识vue-router

img

● 06 如何使用vue路由

● 01.文字+ppt

img

● 02.实际调用方式

● 01-创建路由组件(router或者 index文件的写入方式 会在mainjs调用)

img

img

● 02-配置路由映射关系:组件和路径映射关系 通过配置一个对象中的属性实现

img

● 03-使用路由 router-link(位置 App.vue 因为div="app"在这里)

img

● 04-使用小技巧 让登录后第一个界面显显示的是我们想要指定的一个界面------重定向

img

● 05-使网站输入从hash变为history

img

● 06-使用router属性修改跳转的页面的的方式

img

img

● 07.动态路由 主界面根据不同的点击跳转界面时,跳转后的界面获取一些数据信息(传递参数方式1 params)

● 01.创建路由

img

● 02.路由在app.vue跳转时拼接id

img

● 03.跳转后的页面获取ID

img

● 08. r o u t e 和 route和 routerouter的区别

● 01.$router是定义路由时new出来的整个大的对象

img

● 02.$route是当前处于活跃的路由对象,可以获取当前网页所选中的一些参数

● 09.路由的懒加载

● 01.文字说明

img

● 02.懒加载的代码写法—就是在内部import组件

img

img

img

● 10-路由嵌套

● 01.认识路由嵌套 引用场景

img

● 02.代码具体实现

● 01.新建并编写组件

● 02-编写路由映射路径 children关键词 后面跟数组

img

● 02-对应的父组件需要添加routerview APP中的router-view展示的是第一层路由

img

● 03-为子路由添加默认展示的界面

img

● 11-路由跳转时传递参数方式2(query)有大量的参数的方式进行传递,因为用到了对象

● 01.在父级router-link直接传入需要的参数

img

● 02.待跳转的组件 获取方式

img

● 03.使用方法函数的方式跳转

img

● 12. r o u t e 和 route和 routerouter的区别 加强版

● 01.看源码 看 this.$router的use(install)等调用方式

● 02.对一个函数添加方法 prototype

img

img

● 13-路由导航守卫 可以搭配生命周期函数使用

● 01.一些常用的生命周期函数

img

● 02.使用created生命周期函数修改网页的标题 document.title

img

● 03.使用全局导航守卫动态改变网页标题(使用前置钩子 每个路由跳转时都会调用全局导航守卫)

img

● 04.组件内守卫+

img

● 14.keep-alive

● 01.keep-alive文字描述

img

● 02.代码实现

img

img

● 04-组件文件分布

● components内部写一些公共的部分

● views创建一些独立的界面

● 16-箭头函数

● 01.基础写法

img

● 02.简写

● 01.参数只有一个 前面参数括号可以省略

img

● 02.语句只有一个 后面大括号可以省略 同时代码会自动return 没有返回值(比如consol.log)的时候返回undefine

img

● 03.箭头函数中的this、function函数中的this以及setTimeout()中的this

● windows.setTimeout 箭头函数的this固定指向上层对象 JS中函数属于一等公民 也属于对象

img

img

img

img

● 解析对比

img

img

img

● 出题

img

● .特质 :函数的另外一种写入方式 同时当函数参数为1或者执行语句为1时有简化的写入方式

● 阶段总结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FbyP7Yp-1621664285471)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image409.gif)]

● 17-promise异步封装

● 01-promise的基础使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p4F45NmC-1621664285472)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image411.gif)]

● 02-promise的另外处理形式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oEFPT0Dn-1621664285473)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image413.gif)]

● 03-promise的链式调用(一)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6xw2aVGy-1621664285475)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image415.gif)]

● 04-promise的链式调用(二)-----简写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8bywJ1CV-1621664285476)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image417.gif)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guo2z1FT-1621664285478)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image419.gif)]

● 05-Promise的all方法使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Ns4EteC-1621664285479)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image421.gif)]

● 18-vuex状态管理

● 01.使用方式

● 00.vuex的作用 文字叙述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c3i49Wd5-1621664285480)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image423.gif)]

● 01.安装vuex插件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZyAx9oET-1621664285481)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image425.gif)]

● 02.创建一个store的文件夹 并对vuex插件进行对象创建和导出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYIU7MNH-1621664285482)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image427.gif)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mDCMPRXR-1621664285484)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image429.gif)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sx1RkmN4-1621664285485)(…/AppData/Local/Temp/msohtmlclip1/01/clip_image431.gif)]

● 03.store对象中放入的数据 5个重要数据

● 01.state 定义可供多个组件共享的全局变量

● 01.基础数据定义

img

● 02.对state中变量的改变 方式1 不推荐

img

● 03.对state中变量的改变 mutations方式 方式2推荐

● 02.mutations 作用:修改state中的数据,同时被devtools监听

● 01.mutations函数定义方式

img

● 02.组件中调用mutations函数的方式 commit方式

img

● 03.mutations传参 (在提交commit的时候,不仅触发mutations中定义的函数 同时传入参数)

● 00.文字说明 mutatins配置有payloads

img

● 01.组件中方法函数中的写法

img

● 02.store中mutations属性的写法

img

● 04.mutations特殊的提交风格

● 01.组件中的函数提交

img

● 02.store中函mutations的定义

img

● 05.mutations响应规则

● 01.在store中定义好的变量或者属性 都具备响应式原理

img

● 02.组件中自己使用方法函数新建的数据不具备响应式原理

img

img

● 03.该问题的解决思路 使用splice或者Vue.set方法

img

● 04.删除属性

img

● 07.mutations的常量 马甲传入参数

img

img

img

img

● 08.mutations当中如果写异步函数 不会被记录在devtools当中 需要使用actions

● 03.actions 异步操作 类似于mutations 在mutations前面多一层调用

● 01.actions的定义方式

● 02.actions的使用方式

● 03.actions传递参数

● 01.组件中的写法

● 02.store中的写法

● 04.actions参数修改成功后,返回一个回调

● 01.promise写法

● 01.组件写法

● 02.store定义actions时的写法

● 04.getters 类似计算属性

● 01.函数定义

● 02.函数调用

● 03.对数据进行过滤等操作 也可用到getters

● 04.可以getters函数调用前面定义的函数

img

● 05.gettrs函数传参

● 01.问题,getters参数固定 第一个参数是state 第二个参数是getters 第三个即使写参数也不起作用

● 02,返回一个函数 进行传参(重点 getters不是函数 计算属性的本质是访问器属性)

img

img

● 05.modules 避免state过于臃肿

● 01.文字说明

● 02.modules中state的使用

● 01.store中的数据定义

img

● 02.组建中的变量使用

● 03.modules中mutations的使用

● 01.store中的mutations函数定义

img

● 02.组件中的函数使用

● 04.modules中getters的使用

● 01.store中的定义方式

● 02.函数中的调用方式

● 03.module中的getters函数调用其他模块的函数

● 01.函数在store中的定义方式

● 02.函数在组件中的使用方式

● 05.modules中actions的使用

● 01.store中的函数定义

img

● 02.组件中的使用和之前一致

● 04.actions参数获取的另外一种写法

● 01.对象解构写法

● 02.对象的解构概念

● 02.分离重构store代码

● 01.state变量定义建议不抽离新的文件

img

img

● 02.mutations的抽离

● 01.新建一个mutations的文件

img

● 02.将之前定义的函数全部exportdefault

img

● 03.将文件导入

● 04.字面量增强写法导入

● 03.actions的抽离与mutations一致

● 04.getters的抽离与mutations一致

● 05.modules的抽离

● 01.新建文件夹

● 02.导入文件夹内的moduleA

● 03.模块的导入不变

● 代码规范

● 缩进:2个空格比较合适(java套层比较多)

● vue设置代码段

● 19.网页实战

● 01.TabBar实现

● 01.注意代码的移植性和扩展性

● 02.添加全局样式修改

● 01.新建文件 写样式

● 02.main.js引入require—方式1 不推荐

● 03.直接在main.js里写style 方式2 不推荐

● 04.在css文件中引入文件 @关键词 方式3 推荐

● 05.弹性布局编写侧边栏(直接写在app.vue中即可)

● 06.侧边栏放在最下端

● 07.添加阴影

● 03.封装文件

● 01.内容抽离

● 02.导入组件并注册使用

● 04.添加图片

● 01.目录划分

● 05.插槽增加代码复用性

● 06.组件创建在多个文件夹


1664285516)]

● 05.modules 避免state过于臃肿

● 01.文字说明

● 02.modules中state的使用

● 01.store中的数据定义

[外链图片转存中…(img-fMp2pqMr-1621664285517)]

● 02.组建中的变量使用

● 03.modules中mutations的使用

● 01.store中的mutations函数定义

[外链图片转存中…(img-lDq7Abb3-1621664285518)]

● 02.组件中的函数使用

● 04.modules中getters的使用

● 01.store中的定义方式

● 02.函数中的调用方式

● 03.module中的getters函数调用其他模块的函数

● 01.函数在store中的定义方式

● 02.函数在组件中的使用方式

● 05.modules中actions的使用

● 01.store中的函数定义

[外链图片转存中…(img-H4WNJ1Ow-1621664285519)]

● 02.组件中的使用和之前一致

● 04.actions参数获取的另外一种写法

● 01.对象解构写法

● 02.对象的解构概念

● 02.分离重构store代码

● 01.state变量定义建议不抽离新的文件

[外链图片转存中…(img-FnqQM2Lx-1621664285520)]

[外链图片转存中…(img-tnDshXtR-1621664285521)]

● 02.mutations的抽离

● 01.新建一个mutations的文件

[外链图片转存中…(img-3nmbtYr4-1621664285522)]

● 02.将之前定义的函数全部exportdefault

[外链图片转存中…(img-jtsgCjBQ-1621664285522)]

● 03.将文件导入

● 04.字面量增强写法导入

● 03.actions的抽离与mutations一致

● 04.getters的抽离与mutations一致

● 05.modules的抽离

● 01.新建文件夹

● 02.导入文件夹内的moduleA

● 03.模块的导入不变

● 代码规范

● 缩进:2个空格比较合适(java套层比较多)

● vue设置代码段

● 19.网页实战

● 01.TabBar实现

● 01.注意代码的移植性和扩展性

● 02.添加全局样式修改

● 01.新建文件 写样式

● 02.main.js引入require—方式1 不推荐

● 03.直接在main.js里写style 方式2 不推荐

● 04.在css文件中引入文件 @关键词 方式3 推荐

● 05.弹性布局编写侧边栏(直接写在app.vue中即可)

● 06.侧边栏放在最下端

● 07.添加阴影

● 03.封装文件

● 01.内容抽离

● 02.导入组件并注册使用

● 04.添加图片

● 01.目录划分

● 05.插槽增加代码复用性

● 06.组件创建在多个文件夹


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部