1.vue中数据接收成功,页面渲染失败.代码如下 经过查找资料修改代码为 或是 原因是: 由于 JavaScript 的限制, Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如: vm.items.length = newLength 但是可以通过set和push,splice操作数组…
在vue中使用echarts有两种方法一.第一种方法1.通过npm获取echarts npm install echarts --save 2.在vue项目中引入echarts 在 main.js 中添加下面两行代码 import echarts from 'echarts' Vue.prototype.$echarts = echarts 注:import echarts from 'echarts' 引入echarts后,不能全局使用echarts,所以通过Vue.prototype将ech…
最近遇见动态渲染img时,想起了当初刚开始写vue时,曾经遇见的一个小小坑. Vue中:img的src属性是动态渲染时不显示问题1.需求:展示用户头像,数据从后台获取,如果没有拿到则显示默认图片. 如图: 2.第一次写: 如图: 3.结果(汗...)并没有显示默认图片来代替: 审查元素发现没显示默认的图片,图片没有被打包.... 如图: 4.解决方案: 1.使用require引入图片 2.使用img的onerror属性…
1.安装 qrcodejs2: npm install qrcodejs2 --save 2.页面中引入: import QRCode from "qrcodejs2";   components: { QRCode }   3.dom结构: <div id="qrcode" ></div>   4.使用: qrcode (url) { // 生成二维码 let that = this; let qrcode = new QRCode('qr…
1.在app.vue使用router-view组件直接渲染 页面什么都没显示,可能问题出在路由配置上了,检查路由是否配置完好,路由挂载那里必须使用routes属性 2.在app.vue中router-view组件通过子组件渲染 这种情况渲染不出来是可能是因为子组件命名跟特殊标签冲突了,重新把main改个名就好了…
在vue中我们只要操作数据,就可以渲染和更新数据,这背后的boss就是diff算法 vue和react的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设: 1. 俩个相同组件产生类似DOM结构,俩个不同组件产生不同DOM结构 2. 同一层级下的一组节点,他们同唯一的id进行区分 基于以上这两点假设,使得虚拟DOM的Diff算法的复杂度从O(n^3)降到了O(n). 我们希望可以在B和C之间加一个F,Diff算法默认执行起来是这样的: diff的默认渲染 如图 有key值得情况下…
Vue中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DOM结构进行重绘与回流,而diff算法能够使得操作过程中只更新修改的那部分DOM结构而不更新整个DOM,这样能够最小化操作DOM结构,能够最大程度上减少浏览器重绘与回流的规模. 虚拟DOM diff算法的基础是Virtual DOM,Virtual DOM是一棵以JavaScript对象作为基础的树,每一…
mockjs的作用 生成模拟数据 模拟 Ajax 请求,返回模拟数据 基于 HTML 模板生成模拟数据(后续更新) 帮助编写单元测试(后续更新) Vue 中使用 mock 有两种使用方式,一种是仅编写数据来调用,第二种是编写 服务+数据模拟真实接口(可在network查看) Mock对象API用例查看(推荐只看这个就可以) 官方mock定义api查询 第一种方式,编写mock 可以写完整action url:http://localhost/login 同一域下,也可以只写api形式:/logi…
注意:此文是默认你已经具备scoped和css modules的相关基础知识,所以不做用法上的讲解. 在vue中,我们有两种方式可以定义css作用域,一种是scoped,另一种就是css modules. 这两种方式都能形成css作用域,从而避免样式相互覆盖的问题,而这两种方式又有什么区别呢?下面就来比较一下. 1. 编译后的产物不同 scoped <style lang="stylus" scoped> .black { height 100px width: 100px…