最近发现了一个鹅厂的仓库,实现起来比我这个方便[捂脸]。https://github.com/AlloyTeam/AlloyLever

一、vue-cli脚手架中搭建的项目引入vConsole调试

1.首先npm安装,大家都懂的。

npm install vconsole

2.在合适的地方新建一个文件vconsole.js,内容如下:

import Vconsole from 'vconsole'
let vConsole = new Vconsole()
export default vConsole

3.在main.js中引入刚刚新建的vconsole.js

//main.js

……

const VConsole = require('/pathto/vconsole');

……

这个时候基本就能看见界面上出现了vcosole的绿色小按钮了。

此部分基本参考http://www.mamicode.com/info-detail-2231944.html

二、控制vconsole按钮显隐

1.为什么要有这种需求?

防止线上发布时忘记去掉vconsole功能,导致与设计需求不同,或者被用户误操作。加上后算是前端开发人员方便测试的一个工具(尤其是上传发包权利不在你手上的时候),也不用去跟产品解释为什么出来的项目多了个按钮。

2.怎么操作这个按钮?

按钮Dom有自己的ID“__vconsole”。

首先,css里设置

#__vconsole {
display: none;
}

然后在app.vue中添加一个tigger控制

比如

 <div>
<router-view></router-view>
<div class="vc-tigger" @click="toggleVc"></div>
</div>
vc-tigger自己设置合适的宽高位置。尽量不影响其他dom为主要要求。
现在要做的是设置连击十次控制显示隐藏,控制显隐使用toggleClass。引入jq没必要,网上找个原生的写法就行,我参考的写法是https://blog.csdn.net/songchunmin_/article/details/55209644
app.vue最后内容
 export default {
name: 'app',
data(){
return {
lastClickTime: 0,
count:0
}
},
created(){
},
methods:{
hasClass(obj, cls) {
return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
},
addClass(obj, cls) {
if (!this.hasClass(obj, cls)) obj.className += " " + cls;
},
toggleClass(obj,cls){
if(this.hasClass(obj,cls)){
this.removeClass(obj, cls);
}else{
this.addClass(obj, cls);
}
},
removeClass(obj, cls) {
if (this.hasClass(obj, cls)) {
var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
obj.className = obj.className.replace(reg, ' ');
}
},
toggleVc(){
const nowTime = new Date().getTime();
if(nowTime - this.lastClickTime < 3000){
this.count ++;
} else {
this.count = 0;
}
this.lastClickTime = nowTime;
if(this.count >= 10) {
let vconDom = document.getElementById('__vconsole');
this.toggleClass(vconDom,'show')
this.count = 0; }
}
} }

Vue-cli中使用vConsole,以及设置JS连续点击控制vConsole按钮显隐功能实现的更多相关文章

  1. vue+elementUI中单选框el-radio设置默认值和唯一标识某个单选框

    vue+elementUI中单选框el-radio设置默认值 如果后台返回的单选框的值是number:单选框的lable需要设置成 :lable='0';如下: <el-form-item la ...

  2. JS/jquery实现鼠标控制页面元素显隐

    最近网站要上一个活动广告横幅,当用户鼠标划过时显隐二维码.像这种鼠标事件控制页面元素显隐的情况,码农们会经常遇到,可以通过javascript或jquery代码实现,下面就几种常见需求一起归纳一下. ...

  3. WPF MVVM模式中,通过命令实现窗体拖动、跳转以及显隐控制

    原文:WPF MVVM模式中,通过命令实现窗体拖动.跳转以及显隐控制 在WPF中使用MVVM模式,可以让我们的程序实现界面与功能的分离,方便开发,易于维护.但是,很多初学者会在使用MVVM的过程中遇到 ...

  4. vue cli 中关于vue.config.js中chainWebpack的配置

    Vue CLI  的官方文档上写:调整webpack配置最简单的方式就是在vue.config.js中的configureWebpack选项提供一个对象. Vue CLI 内部的 webpack 配置 ...

  5. Vue Cli 中使用 Karma / Chrome 执行样式相关单元测试

    在 GearCase 开源项目 中,我使用了 Vue Cli 的默认测试框架.因此和样式相关的东西,都无法进行测试.因为它并不类似于无头浏览器,而是存在于虚拟内存之中. 现状 在如下 button.s ...

  6. vue cli中的env详解

    前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 tes ...

  7. vue cli 构建的 webpack 项目设置多页面

    1. webpack-dev-server下的设置(npm run dev) ./build/webpack.dev.conf.js 中,修改 new HtmlWebpackPlugin ,一个页面一 ...

  8. Vue props中Object和Array设置默认值

    Vue中,在props中设置Object和Array的默认值 seller: { type: Object, default() { return {} } } seller: { type: Obj ...

  9. 在vue项目中,将juery设置为全局变量

    1.首先执行:npm install  jQuery --save-dev,在package.json里加入jQuery. 2.修改build下的webpack.base.conf.js 方法一: 首 ...

随机推荐

  1. Robot Framework:Excel操作

    robot framework 操作Excel需要安装库 ExcelLibrary pip install robotframework-ExcelLibrary 将ExcelLibrary 导入到r ...

  2. Oracle删除修改字段

    Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],…. ...

  3. 天梯L3-003. 社交集群——并查集

    在社交网络平台注册时,用户通常会输入自己的兴趣爱好,以便找到和自己兴趣相投的朋友.有部分兴趣相同的人们就形成了“社交集群”.现请你编写程序,找出所有的集群. 输入格式: 输入的第一行给出正整数N(&l ...

  4. (3)Redis conifg

    redis.windows-service.conf      Redis-x64-3.2.100 # Redis configuration file example # Note on units ...

  5. 3.3 理解 Redux 中间件(转)

    这一小节会讲解 redux 中间件的原理,为下一节讲解 redux 异步 action 做铺垫,主要内容为: Redux 中间件是什么 使用 Redux 中间件 logger 中间件结构分析 appl ...

  6. 22. Jmeter NON GUI模式

    一般情况下我们都是在NonGUI模式下运行jmeter.这样做有两个好处 节省系统资源,能够产生更大的负载 可以通过命令行参数对测试场景进行更精细的配置 需求:模拟5个用户同时访问百度首页的情况 步骤 ...

  7. 使用uc进行手机页面调试

    最近使用uc浏览器的时候发现了,一个有趣的现象,就是uc会处理h5web app为全屏,并屏蔽一些手机上的操作,这样就会使web app更加接近本地应用.所以就研究 了一下uc的手机调试. 1.准备工 ...

  8. VS2015 定时服务及控制端

    一.  服务端 如下图—新建项目—经典桌面—Windows服务—起名svrr 2. 打到server1 改名为svrExecSqlInsert 右击对应的设计界面,添加安装服务目录结构如图 3. sv ...

  9. BigDecimal的操作工具类

    import java.math.BigDecimal; /** * 进行BigDecimal对象的加减乘除,四舍五入等运算的工具类 * @author ameyume * */ public cla ...

  10. 磁盘设备在 Linux 下的表示方法

    在 Linux 系统中磁盘设备文件的命名规则为: 主设备号 + 次设备号 + 磁盘分区号 对于目前常见的磁盘,一般表示为: sd[a-z]x 主设备号代表设备的类型,相同的主设备号表示同类型的设备. ...