自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 跨文件获取本地数据

方法第一行括号中的路径根据个人的需求进行修改,需要注意的是,?callback=data,这里callback后面等于的就是你在.data文件中定义的函数,名称保持一致即可。需要注意的是script.src后面的文件名字,也就是路径,需要自己对应好。在此可以直接复制代码,需要做的操作就是调用getData方法。应该看得懂吧,看不懂就直接复制,修改return中的数据即可。再看js中的访问方式(此时我引用了vue的外部依赖)在此,(‘’)中的内容可以为任何形式。...

2022-07-17 11:46:58 510 1

原创 Vuex状态管理器——vuex基本用法

Vue 最核心的两个功能:数据驱动和组件化。组件化开发给我们带来了:更快的开发效率更好的可维护性每个组件都有自己的状态、视图和行为等组成部分。状态管理包含以下几部分:state,驱动应用的数据源;view,以声明方式将 state 映射到视图;actions,响应在 view 上的用户输入导致的状态变化。组件间通信方式回顾大多数场景下的组件都并不是独立存在的,而是相互协作共同构成了一个复杂的业务功能。在 Vue 中为不同的组件关系提供了不同的通信规则VUEX介绍Vuex

2021-11-28 10:51:08 419

原创 Vuex状态管理器——组件之间的通信

文章目录父传子:Props Down子传父:Event Up非父子组件:Event Bus父直接访问子组件:通过 ref 获取子组件简易的状态管理方案Vue 最核心的两个功能:数据驱动和组件化。组件化开发给我们带来了:更快的开发效率更好的可维护性每个组件都有自己的状态、视图和行为等组成部分。状态管理包含以下几部分:state,驱动应用的数据源;view,以声明方式将 state 映射到视图;actions,响应在 view 上的用户输入导致的状态变化。组件间通信方式回顾大多数

2021-11-27 23:31:05 479

原创 Vue 中模板编译的过程

1、缓存公共的 mount 函数,并重写浏览器平台的 mount2、判断是否传入了 render 函数,没有则判断是否传入了 remplate,没有的话则获取 el 节点的 outerHTML 作为 template3、调用 baseCompile 函数4、解析器(parse)将模板字符串的模板编译转换成 AST 抽象语法树。parse 的核心就是 parseHTML 将HTML 转换为 AST 并返回,在处理 v-for,v-if,v-once 时先移除指令,然后将指令的值记录在树上5、优化器(.

2021-11-13 17:33:44 1064 1

原创 虚拟 DOM 中 Key 的作用和好处

在 v-for 的过程中,为给每一个节点设置 key 属性的作用:以便它能够每一个节点的身份,在进行比较的时候,会基于 key 的变化重新排列元素顺序。从而重用和重新排序现有元素,并且会移除 key 不存在的元素。方便让 vnode 在 diff 的过程中找到对应的节点,然后成功复用。设置 key 的好处可以减少 dom 的操作,减少 diff 和渲染所需要的时间,提升了性能。...

2021-11-13 17:30:33 318 1

原创 Vue 响应式原理

一,入口,initState()vm 状态的初始化,整个影响是从 init 方法中开始的, 在 init 方法中,调用 initState 方法初始化状态,在 initState 方法中调用 initData(), 将 data 属性注入到 vue 实例上,并且调用 observe() 将其转化为响应式对象,observe 是响应式的入口。二,observe(value)位于 src/core/observer/index.js,首先判断 value 是否是对象,如果不是对象直接返回,判断 val

2021-11-13 17:26:49 212 1

原创 Vue 首次渲染的过程

一,从入口文件开始定义在 src/platform/web/entry-runtime-with-compiler.js二,Vue 初始化过程1,首先取出 Vue 的 $mount 进行重写,给 $mount 增加新的功能 // src/platform/web/entry-runtime-with-compiler.js // 保留 Vue实例的 $mount 方法 const mount = Vue.prototype.$mount Vue.prototype.$mount = f

2021-11-13 17:24:31 1498 1

原创 Diff 算法的执行过程&&数据响应式&&模拟router&&Snabbdom

1、当我们点击按钮的时候动态给 data 增加的成员是否是响应式数据,如果不是的话,如何把新增成员设置成响应式数据,它的内部原理是什么。let vm = new Vue({ el: '#el' data: { o: 'object', dog: {} }, method: { clickHandler () { // 该 name 属性是否是响应式的 this.dog.name = 'Trump' } }})不是响应式的let vm = new Vue({

2021-10-31 11:10:08 207 1

原创 webpack 学习笔记

一、Webpack 的构建流程主要有哪些环节?如果可以请尽可能详尽的描述 Webpack 打包的整个过程1、初始化项目,初始化参数:根据用户配置的不同参数2、初始化参数,根据用户在命令窗输入的参数,以及 webpack.config.js 的配置,得到最后的配置3、开始编译,根据上一步得到的最后的配置参数,初始化得到一个 compiler 对象,注册所有的插件 plugin ,插件开始监听 webpack 的构建过 程,不同的环节会对应相应的处理然后开始执行编译。3、确定入口,根据 webp

2021-10-01 20:50:54 193 1

原创 JS 函数式编程

2021-08-28 18:13:50 2670

原创 JS 模块化开发

文章目录CommonJS规范ES Modules 的特性ESM 导入和导出ESM in Node.jsCommonJS规范一个文件就是一个模块每个模块都有单独的作用域通过 module.exports 导出成员通过 require 函数载入模块CommonJS 是以同步模式加载模块node端: node的执行机制是在启动时加载模块。执行过程中不需要加载,只会使用到模块,因此node环境下使用commonjs没有问题浏览器端: 必然导致效率低下,每次页面加载都会导致大量同步模式请求出现,

2021-08-28 18:01:45 898

原创 使用 Gulp 完成项目的自动化构建

首先 npm init 创建一个 package.json在 package.json 里面添加一个配置项中添加 bin“bin”: {“pages-boilerplate”: “cli.js”},在根目录下创建一个cli.js文件,里面写下面的内容,顶格写注释(必写)#!/usr/bin/env nodeconsole.log(‘cli working!’)在当前目录中运行npm link,会自动创建一个package-lock.json文件花括号里的name,...

2021-08-26 22:48:43 159

原创 如何理解 JS异步编程、EventLoop、消息队列、宏任务、微任务

什么是JS异步编程同步编程(Synchronous)众所周知,js是运行在浏览器的脚本语言。它的作用就是用来完成页面的交互效果。也是就是 JS的DOM操作。为了防止有的在对DOM执行修改操作,有的对这个DOM执行删除操作,这时候浏览器不知道该听谁的了。为了避免这种冲突,javaScript就被设计成为了单线程工作。javaScript中只有一个执行栈,就好比有很多人买鸿星尔克,但是只有一个收银台,所以只能一个一个的付钱,这样的好处是可以让浏览器有条不紊的运行,坏处是当遇到返回时较长的时候,后面的代码

2021-07-31 16:59:20 417

原创 vuex中的commit、dispatch于store中mutation和action的用法

建议先读文档再读次文vuex文档computed: {​ ...mapState(['count']),​ ...mapState(['showNum']),},methods: {​ ...mapMutations(['count']),​ ...mapActions(['subAsync'])}commit的作用,就是调用store中某个mutation的函数。this.$store.commit('函数名', 入参)dispatch的作用,专门用来触发acti

2021-01-24 17:08:50 2435

原创 Vue-router安装及使用&切换

Vue-router安装及使用1、安装:npminstallvue-router或cnpminstallvue-router或yarnaddvue-router2、在新建router.js中引用如下代码(router.js建立在src文件夹下)importVuefrom'vue'importVueRouterfrom'vue-router'Vue.use(VueRouter)3、在src中新建view文件夹,在view新建例如:Home文件夹,在文件夹中新建index.vue<temp

2020-07-24 14:02:06 311 1

原创 Vue父子组件传值(操作流程)

Vue父子组件传值1.父传子(props)需要在vue实例中添加props事件,如下所示<template> <div> 父组件: <input type="text" v-model="name"> <br> <br> <!-- 引入子组件 --> <child :inputName="name"></c

2020-07-23 20:04:47 433

原创 Vue生命周期(操作代码)& 常见指令

Vue生命周期1.先做一个点击增加的功能实现点击增加功能<template> <div id="app"> {{ array }} <p><button @click="add">add</button></p> </div></template>export default { name: 'App', data(){ return { arra

2020-07-22 16:20:02 400

原创 网易云音乐源文件下载

1.打开网易云音乐官网网易云音乐官网2.找到一首喜欢的音乐点击播放,同时在控制台中找到Network找到m4a或者是mp3后缀文件3.找到右键Open in new tab

2020-07-16 11:42:26 2672 1

原创 在小程序中使用ECharts快速上手

首先可以阅读以下ECharts的官方文档 ECharts官方文档1.将ec-canvas文件夹放到新建的小程序根目录下在此 链接github 下可以下载到小程序的实例项目,解压到本地可找到此文件。2.在需要用到的文件夹下的json文件配置引用路径"usingComponents": { "ec-canvas": "../../ec-canvas/ec-canvas" }3.在需要用到的文件夹下的js文件下引用echartsimport * as echarts from '../.

2020-07-16 11:25:24 572 1

原创 Vue.js环境安装环境教程

Vue.js环境安装环境教程你好! 我是第一次写博客,多多关照1、安装node,检查node安装是否成功第一个按钮是长期支持版本,可以下载第一个。在cmd控制台中使用 node -v 如果出现了版本号证明安装成功啦!2、检查npm是否安装成功,在git工具中输入npm(npm一般随node一起安装在电脑中,node如果成功了,npm基本都会没问题在cmd控制台中使用 npm-v 检查是否安装成功现在node环境已经安装完成了,npm包管理器也有了。由于有些npm资源被屏蔽或者是国外资源的

2020-06-03 22:22:53 447 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除