淺談Vue中的this.$store.state.xx.xx
Vue this.$store.state.xx.xx
this.$store.state.xx.xx 其實是Vue用到狀態(tài)管理工具Vuex
Vuex官網(wǎng):https://vuex.vuejs.org/zh/
感覺就是把組件的共享狀態(tài)抽取出來,以一個全局單例模式管理。在這種模式下,我們的組件樹構(gòu)成了一個巨大的“視圖”,不管在樹的哪個位置,任何組件都能獲取狀態(tài)或者觸發(fā)行為?。ㄔ陧椖康娜我獾胤蕉伎梢噪S時獲取和動態(tài)的修改,在修改之后,vue會為你的整個項目做更新)
獲取store中的數(shù)據(jù)
在vue根文件中注冊store,這樣所有的組件都可以使用store中的數(shù)據(jù)了
我的項目文件結(jié)構(gòu)
在main.js文件中注冊store
然后代碼中寫到
登錄后前端有緩存userId,然后通過userId再去查找
這個位子就用到了 公共頁面里面的
總結(jié):main.js是工會老大,你把獎勵給了老大,老大有的道具會交給你使用,那么你就可以通過this來使用。
vue項目都在什么時候用store.state、$store.state和this.$store.s
store 和 [this.]$store
簡單來說,如果你在根組件下注入了store那么所有的.vue文件里使用就可以直接用 this.$store.xxxx
Vue官網(wǎng):為了在 Vue 組件中訪問 this.$store.property,你需要為 Vue 實例提供創(chuàng)建好的 store。Vuex 提供了一個從根組件向所有子組件,以 store 選項的方式“注入”該 store 的機制
//main.js import store from './store' new Vue({ el: '#app', store, //根組件注入store })
//index.vue getData() { return { userId: this.$store.state.user.userId, ...... } }
而在js文件里面如果想要使用store,就必須先引入import store from '@/store'然后使用store.xxx,因為js里面是打印不出來this.$store的
// src/test.js文件 import store from './store/'; console.log(store) console.log(this) // undefined console.log(this.$store) // 會報錯
this.$store 和 $store
$store 是掛載在 Vue 實例上的(即Vue.prototype),而組件也其實是一個Vue實例,在組件中可使用this訪問原型上的屬性
<template> 擁有組件實例的上下文,可直接通過 {{$store.state.XXX }} 訪問,等價于 script 中的 this.$store.state.XXX
就把 $store 看成在data中return的某個變量,在下面的script中使用需要加this,在上面的template中不需要加this
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue2中,根據(jù)list的id進入對應(yīng)的詳情頁并修改title方法
今天小編就為大家分享一篇vue2中,根據(jù)list的id進入對應(yīng)的詳情頁并修改title方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Vue項目使用Websocket大文件FileReader()切片上傳實例
這篇文章主要介紹了Vue項目使用Websocket大文件FileReader()切片上傳實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10vuex 中輔助函數(shù)mapGetters的基本用法詳解
mapGetters輔助函數(shù)僅僅是將 store 中的 getter 映射到局部計算屬性,在組件或界面中不使用mapGetter調(diào)用映射vuex中的getter,在組件或界面中使用mapGetter調(diào)用映射vuex中的getter,具體內(nèi)容跟隨小編一起通過本文學(xué)習(xí)吧2021-07-07Vue3實現(xiàn)點擊按鈕實現(xiàn)文字變色功能
這篇文章主要介紹了使用Vue3實現(xiàn)點擊按鈕實現(xiàn)文字變色功能,文中通過代碼示例給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07ElementUI?$notify通知方法中渲染自定義組件實現(xiàn)
這篇文章主要為大家介紹了ElementUI?$notify通知方法中渲染自定義組件實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06解決Vue.js 2.0 有時雙向綁定img src屬性失敗的問題
下面小編就為大家分享一篇解決Vue.js 2.0 有時雙向綁定img src屬性失敗的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03vue+elementUI動態(tài)增加表單項并添加驗證的代碼詳解
這篇文章主要介紹了vue+elementUI動態(tài)增加表單項并添加驗證的代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12uniapp中使用u-loadmore,loadText內(nèi)容不隨status改變刷新方式
這篇文章主要介紹了uniapp中使用u-loadmore,loadText內(nèi)容不隨status改變刷新方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05