国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue通過URL傳參如何控制全局console.log的開關詳解

2024-05-06 15:23:45
字體:
來源:轉載
供稿:網友

前言

最近在學習vue,發現了一個問題網上相關的信息很少,所以想著總結下,本文主要給大家介紹了關于Vue通過URL傳參來控制全局console.log開關的相關內容,分享出來供大家參考學習,下面話不多說了,來隨著小編一起看看詳細的介紹吧。

實現方法如下:

如果你的項目中console.log了很多信息,但是發到生產環境上又不想打印這些信息,這時候就需要設置一個全局變量,如:debug,

用正則匹配一下參數:

const getQueryStr = (name) => { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null;};

當鏈接中含有這個參數時,將debug的狀態置為true,這時console.log是正常可打印狀態,否則將debug的狀態置為false,這時重寫console.log函數:

console.log = function () { return false;}

這時的全局變量就可以用在整個項目中了,用來控制一些調試窗口的顯隱。

在Vue中可以直寫在stores/index.js中,當然,寫在其他入口文件里也可以:

const getQueryStr = (name) => { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null;};/* 若鏈接后面帶上參數 envFlag=monitor * 則將 debug 置為true,否則置為false*/const monitor = 'monitor';const envFlag = getQueryStr('envFlag');let debug = monitor ? true : false;if (envFlag === 'monitor') { console.log("%cNow You Can Console Log...", "color:red;font-size:18px;font-style:oblique;"); debug = monitor;} else { debug = ''; console.log = function () { return false; }}const state = {debug: debug};export const store = new vuex.Store({state, mutations});

這時候如果你想控制一個組件的顯示或隱藏,只需要在vuex的getters中聲明一下就可以使用變量debug了:

<monitor v-show="debug"></monitor>vuex: { getters: { debug: state => state.debug }}

做完以上的工作后,在URL后面帶上參數 envFlag=monitor 就可以看到組件 monitor 被顯示出來,同時打開控制臺的話,就可以看到項目所有的 console.log 信息。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對錯新站長站的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阿拉善右旗| 鹤峰县| 东台市| 游戏| 威信县| 年辖:市辖区| 皋兰县| 永善县| 青阳县| 隆尧县| 贡山| 昔阳县| 栖霞市| 乐昌市| 林芝县| 富川| 平罗县| 乌苏市| 咸阳市| 扶余县| 临洮县| 绩溪县| 衡南县| 读书| 长寿区| 承德市| 漯河市| 梁山县| 竹山县| 蓝田县| 岑巩县| 左贡县| 黑水县| 铜梁县| 桐乡市| 稷山县| 安化县| 乌苏市| 洪江市| 舞阳县| 包头市|