Vue如何通過瀏覽器控制臺(tái)查看全局data值
前言
Vue中借助data實(shí)現(xiàn)了數(shù)據(jù)的存儲(chǔ)和中轉(zhuǎn),方便了界面的綁定渲染和值使用.
一些時(shí)候,為了調(diào)試程序,我們可能需要通過瀏覽器來查看data中的值到底目前是一個(gè)什么情況,方便調(diào)試和查找問題.
而現(xiàn)有基于Vue-cli框架和單個(gè)頁面的Vue在定義時(shí),會(huì)導(dǎo)致data獲取值方法不相同.尤其是通過Vue-cli創(chuàng)建的,里面的文件都是一個(gè)個(gè)的組件,如何在控制臺(tái)中修改,查看組件data里的值??
(1)沒有或找不到具體的Vue對(duì)象
發(fā)現(xiàn)很多通過Vue-Cli創(chuàng)建的具體頁面在定義data后,export時(shí),多半沒有對(duì)象(直接頁面),如下:
export default { data() { return { locale, labelCol: { span: 2 }, wrapperCol: { span: 20 }, other: "", form: { name: "", goodsType: undefined, goodsTime: undefined, delivery: false, type: [], goodsDesc: "", }, ... },
這樣,我們?cè)跒g覽器中沒有對(duì)外的對(duì)象,怎么獲取data值,確實(shí)令人抓頭...
方法,解助,created方法,在該方法中定義一個(gè)myData全局對(duì)象實(shí)例并指向當(dāng)前對(duì)象this,來獲取實(shí)例.并通過windows暴露給全局,代碼如下:
created() { window.myData = this;//將變量全局化,這樣瀏覽器可以查看當(dāng)前data是什么情況::myData._data },
這樣,在瀏覽器控制臺(tái),直接使用myData對(duì)象就可以獲取到值,獲取data值,通過myData._data
(2)Vue在外層定義了實(shí)例來包裹整個(gè)對(duì)象
傳統(tǒng)的html形式引用vue可以通過給最外層的vue實(shí)例命名方式.這種方式,就比較直接簡(jiǎn)單了,可直接通過該實(shí)例直接獲取.
var myapp=new Vue({ el:'#app', data:{ a:1 } })
獲取值:在控制臺(tái)輸入myapp.a=2改變里面data的值,這樣在瀏覽器控制臺(tái)調(diào)試很方便
補(bǔ)充:vue在控制臺(tái)展開有值代碼卻獲取不到
1.瀏覽器控制臺(tái)獲取到的是當(dāng)前值
當(dāng)我們?cè)赾onsole.log輸出測(cè)試點(diǎn)開查看是否有值時(shí),發(fā)現(xiàn)明明有值,代碼使用時(shí)卻獲取不到,這是因?yàn)闉g覽器獲取的是該參數(shù)當(dāng)前的值,而不是你console.log輸出時(shí)的值。
可以發(fā)現(xiàn)當(dāng)我們?cè)趯?duì)展開之前又給它push一個(gè)值后,展開的是最新的數(shù)據(jù)而不是調(diào)用它時(shí)的數(shù)據(jù),這點(diǎn)在你展開時(shí)瀏覽器其實(shí)有說明,不過大家平時(shí)可能沒注意。
2.vue this指向發(fā)生改變
這嚴(yán)格來說不屬于該情況,不過也經(jīng)常是我這種小白容易忽略的地方,就放在一起了,方便自己以后查閱。
在使用例如setTimeout等(不知道還有沒有,我目前記得這一個(gè))函數(shù)時(shí),this的指針指向不再指向vm,而是會(huì)指向Windows,因此在setTimeout中使用this時(shí)會(huì)賦值不上,可以在方法內(nèi)使用setTimeout之前重新定義一個(gè)參數(shù)將this保存下來。
異步請(qǐng)求
如axios、ajax發(fā)送請(qǐng)求時(shí)是異步的,因此在發(fā)送請(qǐng)求后立即調(diào)用想要返回的信息可能為空,但是當(dāng)我們?cè)诳刂婆_(tái)展開時(shí)接口數(shù)據(jù)返回完成,又能查看到數(shù)據(jù)了??梢赃x擇停用異步或用setTimeout增加一定的延時(shí)。
總結(jié)
到此這篇關(guān)于Vue如何通過瀏覽器控制臺(tái)查看全局data值的文章就介紹到這了,更多相關(guān)Vue瀏覽器控制臺(tái)查看全局data值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue build過程取消console debugger控制臺(tái)信息輸出方法詳解
- vue控制臺(tái)警告Runtime directive used on component with non-element root node
- 使用vue-i18n?入口文件配置控制臺(tái)報(bào)警問題解決
- 安裝vue3開發(fā)者工具但控制臺(tái)沒有顯示出vue選項(xiàng)的解決
- 解決vue 使用axios.all()方法發(fā)起多個(gè)請(qǐng)求控制臺(tái)報(bào)錯(cuò)的問題
- 解決Vue控制臺(tái)報(bào)錯(cuò)Failed to mount component: template or render function not defined.
相關(guān)文章
vue?實(shí)現(xiàn)左滑圖片驗(yàn)證功能
網(wǎng)頁中滑動(dòng)圖片驗(yàn)證一直是各大網(wǎng)站、移動(dòng)端的主流校驗(yàn)方式,其主要作用是為了區(qū)分人和機(jī)器以及為了防止機(jī)器人程序暴力登錄或攻擊從而設(shè)置的一種安全保護(hù)方式,這篇文章主要介紹了vue?實(shí)現(xiàn)左滑圖片驗(yàn)證,需要的朋友可以參考下2023-04-04vue2使用el-date-picker實(shí)現(xiàn)動(dòng)態(tài)日期范圍demo
這篇文章主要為大家介紹了vue2使用el-date-picker實(shí)現(xiàn)動(dòng)態(tài)日期范圍示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06vue-create創(chuàng)建VUE3項(xiàng)目詳細(xì)圖文教程
create-vue是Vue官方新的腳手架工具,底層切換到了vite(下一代前端工具鏈),為開發(fā)提供極速響應(yīng),下面這篇文章主要給大家介紹了關(guān)于vue-create創(chuàng)建VUE3項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2024-03-03Vue+ElementUI 中級(jí)聯(lián)選擇器Bug問題的解決
這篇文章主要介紹了Vue+ElementUI 中級(jí)聯(lián)選擇器Bug問題的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07vue.js vue-router如何實(shí)現(xiàn)無效路由(404)的友好提示
眾所周知vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,適合用于構(gòu)建單頁面應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于vue.js中vue-router如何實(shí)現(xiàn)無效路由(404)的友好提示的相關(guān)資料,需要的朋友可以參考下。2017-12-12