流浪のwolf

卷帝

导航

2022年11月12日

谈一谈响应式数据

摘要: 响应式数据是某个数据发生变化时,页面依赖这个数据的位置会自动更新视图 ; 响应式数据的原理: vue 在初始化 vue 实例时,会 遍历 data 数据,通过Object.defineProperty 给每个数据添加了 getter 和 setter 函数 ,我们获取 数据的时候,会触发 gette 阅读全文

posted @ 2022-11-12 22:04 朱龙旭的网络 阅读(46) 评论(0) 推荐(0)

谈一谈 vuex 中的核心属性

摘要: 1. state 保存数据的位置 ; 2. mutations 唯一修改 state 数据的方式 ; 3. getter 监听 state 数据的变化 ; 4. actions 执行异步代码,通过 commit 提交 mutations ; 5. modules vuex 的模块化 ; 阅读全文

posted @ 2022-11-12 21:53 朱龙旭的网络 阅读(52) 评论(0) 推荐(0)

谈一谈 vuex 的运行机制

摘要: Vuex提供数据(state)来驱动视图(vue components),通过dispath派发actions,在其中可以做一些异步的操作,然后通过commit来提交mutations,最后mutations来更改state。 阅读全文

posted @ 2022-11-12 21:48 朱龙旭的网络 阅读(52) 评论(0) 推荐(0)

谈一谈 vuex 里边,actions,mutations ,state 之间的运转方式

摘要: 首先,调用 actions 中的方法,一般我们在 actions 做登录和登出的请求 ; 然后调用 mutations 的方法修改数据 ,因为 mutations 方法是修改state的数据的唯一方法 ; 阅读全文

posted @ 2022-11-12 21:43 朱龙旭的网络 阅读(45) 评论(0) 推荐(0)

谈谈 keep-alive 组件,以及它们的实现原理

摘要: keep-alive 组件的使用场景: 我们切换 2 个组件的时候,2个组件会轮流被销毁创建,但是现在需求,切换到一个组件,另一个组件不会别销毁,会保留原来的状态 ;就要使用 vue 内置的组件 keep-alive ; keep-alive 的作用 : 保留组件的状态,避免组件重新渲染 ; 学习来 阅读全文

posted @ 2022-11-12 21:36 朱龙旭的网络 阅读(124) 评论(0) 推荐(0)

我们如何在 vue 应用我们的权限

摘要: 权限可以分为用户权限和按钮权限; 用户权限,让不同的用户拥有不同的路由映射 ,具体实现方法: 1. 初始化路由实例的时候,只把静态路由规则注入 ,不要注入动态路由规则 ; 2. 用户登录的时候,根据返回的权限标识确定用户的动态路由规则 ; 3. 最后使用 addRoutes 添加动态路由规则到rou 阅读全文

posted @ 2022-11-12 21:26 朱龙旭的网络 阅读(35) 评论(0) 推荐(0)

我们在 vue 项目中如何做路由导航守卫

摘要: 一般在 src 文件夹新建一个 permission 文件 ,单独用来做路由导航守卫业务 ,在 main.js 导入文件即可 ; 主要功能有 判断是否有 token ,以此判断用户是不是登录了 ; 阅读全文

posted @ 2022-11-12 21:11 朱龙旭的网络 阅读(43) 评论(0) 推荐(0)

父子组件生命周期的执行顺序

摘要: 父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted 阅读全文

posted @ 2022-11-12 21:05 朱龙旭的网络 阅读(35) 评论(0) 推荐(0)

25. http 常见状态码

摘要: 状态码的分类: 2xx:表明请求被成功接收并处理 ; 3xx:表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向 ;重定向就是 从 a 地址跳转到 b 地址 ; 4xx:客户端错误,请求错误,请求参数是否写对了 ; 5xx:服务器自己出错,不是客户端的错误 ; 具体分类: 200: 成功 阅读全文

posted @ 2022-11-12 17:28 朱龙旭的网络 阅读(110) 评论(0) 推荐(0)

24. echarts 可以画哪些图表

摘要: 1. 折线图 2. 柱状图 3. 饼图 4. 地图 5. 雷达图 延申问题:画折线图和柱状图哪些配置可以改变样式 1. color 设置每个数据的颜色 2. grid 网格设置图表的大小 3. series 设置背景色等 ; 4. toolbox 工具箱组件 下载、转发等 学习 echarts :h 阅读全文

posted @ 2022-11-12 17:04 朱龙旭的网络 阅读(93) 评论(0) 推荐(0)

23. 小程序上线流程

摘要: 1. 小程序注册 2. 完善小程序信息 3. 小程序开发 4. 小程序审核&发布 阅读全文

posted @ 2022-11-12 16:58 朱龙旭的网络 阅读(74) 评论(0) 推荐(0)

22. uni-app 怎么跳转界面

摘要: methods: { //gonavigate()为点击响应事件,可在HTML部分设置 @tap="gonavigate()" gonavigate(){ uni.navigateTo({ //保留当前页面,跳转到应用内的某个页面 url: '/pages/detail/detail' }) } } 阅读全文

posted @ 2022-11-12 16:57 朱龙旭的网络 阅读(44) 评论(0) 推荐(0)

21. uni-app 配置导航栏在哪个文件

摘要: 新建 tabbar 文件 阅读全文

posted @ 2022-11-12 16:55 朱龙旭的网络 阅读(33) 评论(0) 推荐(0)

20. 数组去重方法

摘要: 1. 使用 ES6 新增的 set 方法 2. 双重 for 循环 3. sort排序后去重 function fn(arr){ let newArr = [] arr.sort((a,b)=>{ return a-b }) arr.forEach((val,index)=>{ if(val != 阅读全文

posted @ 2022-11-12 16:52 朱龙旭的网络 阅读(43) 评论(0) 推荐(0)

19. 数组的排序方式

摘要: 1. 使用 sort 函数 格式 :arr.sort(( a,b ) => { a - b } ) 2. 封装函数,使用冒泡排序 ; var arr = [123,203,23,13,34,65,65,45,89,13,1]; for(var i=0; i<arr.length-1; i++){ / 阅读全文

posted @ 2022-11-12 12:00 朱龙旭的网络 阅读(23) 评论(0) 推荐(0)

冒泡排序

摘要: var arr = [123,203,23,13,34,65,65,45,89,13,1]; for(var i=0; i<arr.length-1; i++){ //每一轮比较要比多少次 for(var j=0; j<arr.length-1-i; j++){ //如果第一个比第二个大,就交换他们 阅读全文

posted @ 2022-11-12 11:50 朱龙旭的网络 阅读(17) 评论(0) 推荐(0)

18 . 介绍一下 Promise

摘要: Promise 是js内置的构造函数,也叫做期约函数 ,它有 3 种状态 ,等待状态 pending ,成功状态 fullfilled ,失败状态 reject ;2 个过程, 等待状态到成功状态 会调用 Promise实例 的then 函数 来加工响应数据 ;等待状态到失败状态会调用 Promis 阅读全文

posted @ 2022-11-12 11:30 朱龙旭的网络 阅读(36) 评论(0) 推荐(0)

17. ES6怎么嵌入变量

摘要: 模板字符串 具体操作: 首先 , 使用反引号包裹字符串,然后使用 ${} 嵌入变量 ; 阅读全文

posted @ 2022-11-12 11:14 朱龙旭的网络 阅读(32) 评论(0) 推荐(0)

16. VUE怎么阻止冒泡

摘要: 给事件添加 stop 修饰符 ,比如 click.stop ; 补充: 阻止默认行为 prevent 修饰符 ,超链接的跳转,表单的默认提交 ; once 修饰符 事件只触发一次 ps:事件修饰符可以连着写;如 click.stop.once 表示只会阻止第一次冒泡 ; 阅读全文

posted @ 2022-11-12 11:04 朱龙旭的网络 阅读(49) 评论(0) 推荐(0)

15. Vue 数据双向绑定原理

摘要: 在初始化 Vue 实例的时候,会遍历data中的数据,通过 Object.defineProperty 给数据添加 getter 和 setter 函数 ,获取数据触发 getter 函数 ,修改数据触发 setter 函数去修改,然后在 setter 函数里面执行dom更新行为 ; 阅读全文

posted @ 2022-11-12 10:55 朱龙旭的网络 阅读(28) 评论(0) 推荐(0)

14. Vue2 和 Vue3 区别

摘要: 主要分为四点: 1. Vue3 使用了 proxy 替代了 Object.defineProperty 实现响应式数据 ,所以 vue3 的性能得到了提升 ; 2. Vue3 可以在 template 模板使用多个根标签,因为 Vue3 新增了 Fragment 内置组件 ; 3. Vue3 使用组 阅读全文

posted @ 2022-11-12 10:51 朱龙旭的网络 阅读(60) 评论(0) 推荐(0)

13. 说一下$set,用在Vue2还是Vue3

摘要: $set 是 vue2 中对象用来追加响应式数据的方法 ; 使用格式 : $set(对象 , 属性名 , 值 ) vue3中使用 proxy 替代了 Object.defineProperty 实现对象的响应式数据 ,所以在 vue3 中直接添加对象属性就是响应式的数据 ,用不上 $set 方法 ; 阅读全文

posted @ 2022-11-12 10:38 朱龙旭的网络 阅读(2105) 评论(0) 推荐(0)

12. $nextTick 的作用

摘要: 使用场景:我们改变 dom 结构所依赖的数据的时候,不能直接操作 dom ,因为 dom 还没有更新完成 ; 作用 : nextTick 用来感知 dom 的更新完成,类似于 updated 函数 ; 原理:通过控制 异步队列渲染 dom 和 nextTick 的回调函数先后执行顺序 ; 阅读全文

posted @ 2022-11-12 10:33 朱龙旭的网络 阅读(49) 评论(0) 推荐(0)

11. 跨域怎么解决

摘要: 首先,跨域分为开发环境和生产环境的跨域 ,我们在开发环境可以使用 proxy 代理 给 target 设置请求接口地址 ,以前使用的是 jsonp 跨域;生产环境使用 Nginx 反向代理 ; 延申问题:项目中怎么配置代理 在 vue.config.js 文件中设置 proxy 属性,给target 阅读全文

posted @ 2022-11-12 10:08 朱龙旭的网络 阅读(60) 评论(0) 推荐(0)

10. 对象深拷贝问题

摘要: 首先,要知道基本数据保存在栈内存,对象数据保存在堆内存,对象地址(就是变量名)保存在栈内存,浅拷贝只会复制栈内存的内容,而深拷贝会复制栈和堆内存中的内容 ; 所以深拷贝的对象有 2 份地址 和 2 份数据,操作数据互不影响 ; 深拷贝的方式 : 第一:使用递归函数 ; 第二:使用第三方插件库,如 l 阅读全文

posted @ 2022-11-12 09:42 朱龙旭的网络 阅读(30) 评论(0) 推荐(0)

9. JS的数据类型,区别

摘要: js 有2大数据类型分类 : 基本数据类型: 1. string 字符串 使用单、双引号包裹,或者使用反引号包裹 2. number 数字类型 3. boolean 布尔值 true false 4. undefined 未定义,表示声明了变量,但未初始化 5. null 空指针,准备用来保存对象, 阅读全文

posted @ 2022-11-12 09:28 朱龙旭的网络 阅读(33) 评论(0) 推荐(0)

8. REM解释一下

摘要: rem (root em )是 c3 新增的相对单位 ,相对的是html根元素,动态变化自己的大小 ; 补充: em 也是相对单位,相对的是父元素来动态设置自己大小 ; px 是绝对单位,是相对于屏幕显示器而言的,是计算机的数字化图像长度单位 ; 阅读全文

posted @ 2022-11-12 09:18 朱龙旭的网络 阅读(91) 评论(0) 推荐(0)