在项目实践中,遇到了这么一档子事 开发环境下,很快乐,什么事儿都没有,于是想打包一下测一下自动登录的效果 好家伙,一开始登录没有效,改来改去,最后连路由都切换不了, 明明开发环境下好好的,为毛打包后就不行了 折腾了半天,终于找到原因:ajax请求数据搞的鬼 情况如下: 开发环境下用express模拟出请求路由,登录数据和端口数据一起放在一个login.json文件中 { "userinfo":{ "name" : "vbyzc1984", &qu…
vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete) 手把手式笔记 Axios配置 安装 axios npm install axios main.js同级目录新建axios配置文件setaxios.js import axios from 'axios' // import store from './store' //vuex // import router from './router'…
在Vue开发中会遇到大量的组件之间共享数据的情形,针对不同的情形,Vue有相对应的解决方案.比如,父组件向子组件传值可以使用props,复杂项目中不同模块之间传值可以使用Vuex.但是,对于一些简单的项目里的非父子组件来说,它们一方面不适用props,另一方面又没有必要使用Vuex,针对这种情形可以使用中央事件总线(Event Bus)来解决问题. 1.创建中央事件总线 可以使用多种形式创建Event Bus. Example 1: // main.js import Vue from 'vue…
1 onscroll事件失效 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body onscroll="checkscroll()"> <div class="father" > <div class="son">我是移动块</div> &l…
Mock.js 是一个模拟数据生成器,利用它,可以拦截ajax请求,直接模拟返回数据,这样前后端只要约定好数据格式,前端就不需要依赖后端的接口,可以直接使用模拟的数据了. 网上介绍mock的教程也较多,不过大多数看的比较模糊.其实使用起来非常简单,这里介绍在Vue工程中使用Mockjs,并且实现开发和生产配置化. 一.安装 cnpm install --save-dev mockjs 二.引入 为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置 //…
自己写练手项目的时候常常会遇到一个问题,没有后台接口,获取数据总是很麻烦,于是在网上找了下,发现一个挺好用的模拟后台接口数据的工具:mockjs.现在把自己在项目中使用的方法贴出来   先看下项目的目录,这是用vue-cli生成的一个vue项目,主要是需要配置axios和写接口数据mock.js 首先需要安装axios和mockjs npm i axios mockjs --save       在项目中新建一个config目录,与src同级,配置axios ./config/axios.js…
在利用vue组件进行事件监听时发现,如果对N个vue组件实例的bus总线绑定同一事件的回调函数,触发任意组件的对应事件,回调函数至少会被执行N次,这是为什么呢? 为此,调研了普通对象的事件绑定和触发实现方式,参考:JavaScript实现自定义对象的自定义事件. 其基本思想就是:设计一个原型对象,作为基类,其重点属性包括:一个_events对象数组属性,一个addEventListener方法,一个fireEvent方法,具体用途如下: _eventys:对象数组属性,用于存储不同事件的处理函数…
我们项目中有一个点赞需求,只允许点击一次赞,再次点击则取消赞, 为了防止用户多次连续点击,在点赞后需要解绑事件,成功调取API后,才可再次点击取消赞. 目前用的方法是加入一个flag控制点击事件可否点击. 例如: 但是这个不是最好的方案,如何做到既可以连续点击实现点赞和取消赞,也不会出现连续多次点击造成数字混乱.还需要想一想…
clipboard 定义一个全局变量 import ClipboardJS from "clipboard"; if(clipboard){ clipboard.destroy(); } clipboard = new ClipboardJS(".copyLink"); clipboard.on("success", () => { console.log(1); this.$message.success("复制成功"…
methods: { // 获取滚动条当前的位置 getScrollTop() { let scrollTop = 0 if (document.documentElement && document.documentElement.scrollTop) { scrollTop = document.documentElement.scrollTop } else if (document.body) { scrollTop = document.body.scrollTop } retu…