12 2019 档案

摘要:正常我们给组件注册事件是先在子组件的里面监听事件,然后通过$emit向外层触发给父组件,然后再在父组件中接收事件,这样做有点啰嗦,vue提供了 .native修饰符,我们可以直接在父组件通过 .native修饰符来给子组件注册事件,如下: 阅读全文
posted @ 2019-12-26 18:42 leahtao 阅读(760) 评论(0) 推荐(0) 编辑
摘要:首先下载better-scroll插件,地址:https://github.com/ustbhuangyi/better-scroll (vue项目的话也可以通过npm install better-scroll --save安装) 引入bscroll.js 然后通过new BScroll调用 <! 阅读全文
posted @ 2019-12-26 12:39 leahtao 阅读(1990) 评论(0) 推荐(0) 编辑
摘要:<template> <div> <ul class="content"> <li>分类列表</li> <li>分类列表</li> <li>分类列表</li> <li>分类列表</li> <li>分类列表</li> <li>分类列表</li> <li>分类列表</li> <li>分类列表</li> 阅读全文
posted @ 2019-12-26 10:47 leahtao 阅读(727) 评论(0) 推荐(0) 编辑
摘要:此方法是vue cli3 以上的版本 新建一个文件vue.config.js 然后在里面添加这段代码 module.exports = { configureWebpack: { resolve: { alias: { //配置别名,修改后需要重新编译才能生效 'assets': '@/assets 阅读全文
posted @ 2019-12-25 12:53 leahtao 阅读(1459) 评论(0) 推荐(0) 编辑
摘要:方式一: Object构造函数模式 * 套路: 先创建空Object对象, 再动态添加属性/方法 * 适用场景: 起始时不确定对象内部数据 * 问题: 语句太多 /* 一个人: name:"Tom", age: 12 */ // 先创建空Object对象 var p = new Object() p 阅读全文
posted @ 2019-12-24 11:49 leahtao 阅读(117) 评论(0) 推荐(0) 编辑
摘要:本文链接: https://lienjack.github.io/Blog/knowledge/js/3.this.html#%E4%B8%A5%E6%A0%BC-%E9%9D%9E%E4%B8%A5%E6%A0%BC%E6%A8%A1%E5%BC%8F https://www.jianshu.co 阅读全文
posted @ 2019-12-23 14:44 leahtao 阅读(372) 评论(0) 推荐(0) 编辑
摘要:本文链接:https://lienjack.github.io/Blog/knowledge/js/3.this.html#%E7%AE%AD%E5%A4%B4%E5%87%BD%E6%95%B0 本篇我们重点比较一下箭头函数与普通函数。 主要区别包括: 1.没有 this 箭头函数没有 this, 阅读全文
posted @ 2019-12-23 14:36 leahtao 阅读(281) 评论(0) 推荐(0) 编辑
摘要:深浅拷贝对比 深拷贝和浅拷贝是只针对Object和Array这样的对象数据类型的。 深拷贝和浅拷贝的示意图大致如下: 基本类型--名值存储在栈内存中,例如let a=1; 当b=a复制的时候,栈内存会新开辟一个内存,如下: 当你修改a=2时,b并不会收到影响,因为他有了自己独立的内存空间,但这并不是 阅读全文
posted @ 2019-12-23 11:13 leahtao 阅读(772) 评论(0) 推荐(0) 编辑
摘要:原型: 每个函数都有一个prototype属性,这个属性指向这个函数的原型对象,如下: function Fn () {} console.log(Fn.prototype) 用图表表示如下: 函数Fn有一个prototype属性,这个属性就指向它的原型对象即Fn.prototype,原型对象又有一 阅读全文
posted @ 2019-12-20 11:53 leahtao 阅读(262) 评论(0) 推荐(0) 编辑
摘要:一、Set数据结构 Set是无序的不可重复的多个value的集合体,Set结构是类似于数组结构,但是Set中的值都不能重复 常用的属性和方法 size:返回set实例的成员总数 add():添加某个值,返回set本身 delete():删除某个值,返回一个布尔值,判断删除是否成功 has():返回一 阅读全文
posted @ 2019-12-19 16:20 leahtao 阅读(535) 评论(0) 推荐(0) 编辑
摘要:一、filter filter用于对数组进行过滤。它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 注意: filter() 不会对空数组进行检测。 注意: filter() 不会改变原始数组。 1.语法 Array.filter(function(currentValue, 阅读全文
posted @ 2019-12-19 14:58 leahtao 阅读(1843) 评论(0) 推荐(0) 编辑
摘要:这里配置的是vue-cli3.0引入jquery的方法,不是vue-cli2.0的配置方法 一、安装jquery npm install jquery --save 二、在vue.config.js 文件中配置 在文件的头部位置加上const webpack = require('webpack') 阅读全文
posted @ 2019-12-18 15:41 leahtao 阅读(4799) 评论(0) 推荐(0) 编辑
摘要:在vue中绘制地图需要加载一个本地china.json文件,我用的是get请求的方法加载的,而不是直接import,因为我怕import请求到的部署到线上的时候会有问题。如下是get请求方法: this.$http.get(zhongguo).then(res => { console.log(re 阅读全文
posted @ 2019-12-18 10:56 leahtao 阅读(2936) 评论(9) 推荐(1) 编辑
摘要:一、时间戳 时间戳是以时间元年1970年开始算起到当前时间的一个值,以秒为单位,比如1535694719秒,如何转化为我们想要的格式,yyyy/mm/dd或者yyyy-MM-dd hh:mm,格式根据自己想要的进行改。 二、将时间戳转成Data对象 1 function(value) { 2 //将 阅读全文
posted @ 2019-12-16 11:32 leahtao 阅读(784) 评论(0) 推荐(0) 编辑
摘要:内存溢出:一种程序运行出现的错误,当程序运行需要的内存超过了剩余内存空间、时,就会抛出内存溢出错误内存泄漏:占用的内存没有及时释放,内存泄漏积累过多就容易导致内存溢出,常见的内存泄漏:意外的全局变量、没有及时清理的计时器或回调函数、闭包 //内存溢出 var obj = {} for (var i 阅读全文
posted @ 2019-12-14 16:41 leahtao 阅读(206) 评论(0) 推荐(0) 编辑
摘要:参考链接:https://www.cnblogs.com/echolun/p/11897004.html 1、什么是闭包? 闭包在JavaScript高级程序设计(第3版)中是这样描述:闭包是指有权访问另一个函数作用域中的变量的函数。 我个人的理解更多是 :A函数里面嵌套了一个B函数,B函数使用了A 阅读全文
posted @ 2019-12-14 16:18 leahtao 阅读(177) 评论(0) 推荐(0) 编辑
摘要:一、什么是执行上下文 简单说就是代码运行时的执行环境,必须是在函数调用的时候才会产生,如果不调用就不会产生这个执行上下文。在这个环境中,所有变量会被事先提出来(变量提升),有的直接赋值,有的为默认值 undefined,代码从上往下开始执行,就叫做执行上下文。代码分为三类:全局代码、局部(函数)代码 阅读全文
posted @ 2019-12-13 15:31 leahtao 阅读(296) 评论(0) 推荐(0) 编辑
摘要:一、对提升的理解 引擎会在解析JavaScript代码之前首先对它进行编译,编译过程中的一部分工作就是找到所有的声明,并用合适的作用域将他们关联起来,这也正是词法作用域的核心内容。 简单说就是在js代码执行前引擎会先进行预编译,预编译期间会将变量声明与函数声明提升至其对应作用域的最顶端。 提升优先度 阅读全文
posted @ 2019-12-13 10:57 leahtao 阅读(362) 评论(0) 推荐(0) 编辑
摘要:在调用函数时,浏览器每次都会传递进两个隐含的参数: 1.函数的上下文对象 this 2.封装实参的对象 arguments - arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度 - 在调用函数时,我们所传递的实参都会在arguments中保存 - arguments.l 阅读全文
posted @ 2019-12-12 14:32 leahtao 阅读(529) 评论(0) 推荐(0) 编辑
摘要:语法: fun.call(thisArg, arg1, arg2, ...) thisArg 第一个参数thisArg是函数fun运行时指定的this值,这个值在非严格模式下,null和undefined都指向window,在严格模式下,是谁就指向谁自己,例子: var name = 'leah' 阅读全文
posted @ 2019-12-12 12:35 leahtao 阅读(113) 评论(0) 推荐(0) 编辑
摘要:1. 什么是浏览器内核? * 支持浏览器运行的最核心的程序 2. 不同的浏览器可能不太一样 * Chrome, Safari: webkit * firefox: Gecko * IE: Trident * 360,搜狗等国内浏览器: Trident + webkit 3. 内核由很多模块组成 主线 阅读全文
posted @ 2019-12-12 10:20 leahtao 阅读(129) 评论(0) 推荐(0) 编辑
摘要:定时器真是定时执行吗? 定时器是如何实现的? 做个测试 document.getElementById('btn').onclick = function () { var start = Date.now() console.log('启动定时器前...') setTimeout(function 阅读全文
posted @ 2019-12-11 20:33 leahtao 阅读(198) 评论(0) 推荐(0) 编辑
摘要:JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。为了协调事件、用户交互、脚本、UI 渲染和网络处理等行为,防止主线程的不阻塞,Event Loop 的方案应用而生。Event Loop 包含两类:一类是基于 Browsing Context,一种是基于 Worker 阅读全文
posted @ 2019-12-11 19:41 leahtao 阅读(1290) 评论(1) 推荐(0) 编辑
摘要:1. 进程:程序的一次执行, 它占有一片独有的内存空间 2. 线程: CPU的基本调度单位, 是程序执行的一个完整流程,是一个进程中代码的不同执行路线 3. 进程与线程 * 一个进程中一般至少有一个运行的线程: 主线程,进程启动后自动创建 * 一个进程中也可以同时运行多个线程, 我们会说程序是多线程 阅读全文
posted @ 2019-12-11 16:52 leahtao 阅读(116) 评论(0) 推荐(0) 编辑
摘要:本文参考链接:https://segmentfault.com/a/1190000018605776?utm_source=tag-newest 一、首先明确什么是垃圾? 那些没有被任何变量或者属性引用的对象就是垃圾,哪怕几个对象形成一个环形引用,但如果根访问不到他们,那也算是垃圾。 二、理解js内 阅读全文
posted @ 2019-12-11 15:33 leahtao 阅读(398) 评论(0) 推荐(0) 编辑
摘要:首先明确一点,在vue cli3以上的版本中,存放静态资源的文件是public 我刚开始以为是和vue cli2一样需要放在static文件夹下,但是项目中没有这个文件夹,我就自己创建了一个,结果请求的时候总是报错404 这个路径看似没毛病啊,于是我就搜资料 发现在vue cli3中静态资源是需要放 阅读全文
posted @ 2019-12-11 11:31 leahtao 阅读(996) 评论(0) 推荐(1) 编辑
摘要:解析器在调用函数的时候,每次都会向函数内部传递一个隐含参数,这个参数就是this,this指向的是一个对象,这个对象我们称为函数执行的上下文对象,根据函数调用方式的不同,this的指向不同 1.以函数形式调用,this永远指向的是window,属于默认绑定 2.以方法形式调用,this指向的是调用方 阅读全文
posted @ 2019-12-10 20:39 leahtao 阅读(153) 评论(0) 推荐(0) 编辑
摘要:很多时候我们需要在发送请求和响应数据的时候做一些页面处理,比如在请求服务器之前先判断以下用户是登录(通过token判断),或者设置请求头header,或者在请求到数据之前页面显示loading等等,还有在响应到数据的之后做一些判断,例如服务器返回401登录状态失效,需要重新登录的时候,跳转到登录页, 阅读全文
posted @ 2019-12-10 18:06 leahtao 阅读(3919) 评论(0) 推荐(0) 编辑
摘要:一、axios的功能特点 在浏览器中发送 XMLHttpRequests 请求 在 node.js 中发送 http请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 支持多种请求方式: axios(config) axios.request(config) axios.get( 阅读全文
posted @ 2019-12-10 17:19 leahtao 阅读(19328) 评论(0) 推荐(0) 编辑
摘要:vue 项目中使用水波球报错Component series.liquidFill not exists. Load it first. 解决办法:安装 echarts-liquidfill npm install echarts-liquidfill --save 组件中引入: import ec 阅读全文
posted @ 2019-12-09 17:23 leahtao 阅读(6346) 评论(1) 推荐(0) 编辑
摘要:百分比布局+媒体查询 首先通过媒体查询确认container的宽度,每个col-xx-xx都是通过百分比定义的,屏幕尺寸变化了,container就变化了,col自然就变了 Bootstrap的官方解释:Bootstrap提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport 阅读全文
posted @ 2019-12-08 16:19 leahtao 阅读(1304) 评论(0) 推荐(0) 编辑
摘要:解决办法:在当前单组件中在引用一次 阅读全文
posted @ 2019-12-06 15:49 leahtao 阅读(2041) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/MoLvSHan/article/details/78204972 不能直接写成相对路径,像下面这这种就会报错 backgroundImage: "url("../../assets/img/bac.jpg")" 阅读全文
posted @ 2019-12-04 20:48 leahtao 阅读(1246) 评论(0) 推荐(0) 编辑
摘要:第一步、npm install echarts 第二部、在main.js中引入 第三步、创建组件,并且用this.$echarts.init初始化echarts <template> <div class="chinaecharts"> <div id="mapChart" ref="mapChar 阅读全文
posted @ 2019-12-04 20:38 leahtao 阅读(9446) 评论(0) 推荐(0) 编辑
摘要:<template> <div class="chinaecharts"> <div id="mapChart" ref="mapChart" ></div> </div> </template> <script> export default { name: 'ChinaEcharts', met 阅读全文
posted @ 2019-12-04 20:30 leahtao 阅读(3816) 评论(1) 推荐(1) 编辑
摘要:一、promise函数是干什么的 promise函数是解决异步编程调用代码逻辑编写过于复杂的问题的,当网络请求非常复杂时,就会出现回调地狱,这样如果将这些代码写在一起就会看起来很复杂,且不利于阅读,如果用promise的话就会让代码看起来更加美观优雅 二、Promise三种状态 首先, 当我们开发中 阅读全文
posted @ 2019-12-03 19:48 leahtao 阅读(1068) 评论(0) 推荐(0) 编辑
摘要:一、params的类型: 配置路由格式: /router/:id 传递的方式: 在path后面跟上对应的值 传递后形成的路径: /router/123, /router/abc 通过:to字符串拼接的形式传给目标页面 通过$route的方式拿到参数 二、query的类型 配置路由格式: /route 阅读全文
posted @ 2019-12-03 11:31 leahtao 阅读(232) 评论(0) 推荐(0) 编辑
摘要:嵌套路由是一个很常见的功能 比如在home页面中, 我们希望通过/home/news和/home/message访问一些内容. 一个路径映射一个组件, 访问这两个路径也会分别渲染两个组件. 一、路径和组件的关系如下: 二、实现嵌套路由有两个步骤: 创建对应的子组件, 并且在路由映射中配置对应的子路由 阅读全文
posted @ 2019-12-03 09:53 leahtao 阅读(167) 评论(0) 推荐(0) 编辑
摘要:像vue这种单页应用,不做懒加载就会把所有资源打包成一个文件,当项目越做越大时打包出来的文件也越大。造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力, 阅读全文
posted @ 2019-12-02 17:27 leahtao 阅读(245) 评论(0) 推荐(0) 编辑
摘要:一、采用防抖和节流的必要性 在单位时间内,有些事件的触发频率会很高,比如scroll、resize、refresh、input框实时输入校验,这些情况会导致服务器请求跟不上,浏览器页面出现卡顿现象,同时给服务器造成负担,此时采用debounce(防抖)和throttle(节流)减少单位时间内的服务器 阅读全文
posted @ 2019-12-01 23:09 leahtao 阅读(133) 评论(0) 推荐(0) 编辑
摘要:beforeCreate( 创建前 ) 在实例初始化之后,数据观测和事件配置之前被调用,此时组件的选项对象还未创建,el 和 data 并未初始化,因此无法访问methods, data, computed等上的方法和数据。 created ( 创建后 ) 实例已经创建完成之后被调用,在这一步,实例 阅读全文
posted @ 2019-12-01 22:10 leahtao 阅读(447) 评论(0) 推荐(0) 编辑
摘要:我们知道,vue函数的渲染其实是由render函数的回调函数createElement 来创建的虚拟dom,那么它到底是怎么创建组件的? 尚未理解透彻[捂脸],有待补充,参考如下: https://www.jianshu.com/p/709fc34e27b9 https://blog.csdn.ne 阅读全文
posted @ 2019-12-01 22:02 leahtao 阅读(227) 评论(0) 推荐(0) 编辑
摘要:一、选择Runtime-Compiler和Runtime-only不同模式的时候main.js文件的区别 二.vue程序运行过程 1.解析: 第一步,当把vue模板template传给Vue实例的时候,vue内部会保存在options里面,第二部,进行解析,解析成ast(抽象语法树),第三步会进行编 阅读全文
posted @ 2019-12-01 21:53 leahtao 阅读(1228) 评论(1) 推荐(0) 编辑
摘要:一、定义函数的方式 //1.function const aaa = function () { } //2.对象字面量中定义函数 const obj = { bbb() { } } //3.ES6中的箭头函数 const ccc = (参数) => { } 二、箭头函数的参数和返回值 1、参数问题 阅读全文
posted @ 2019-12-01 18:57 leahtao 阅读(453) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示