欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vuex中的State使用介紹

 更新時(shí)間:2019年01月19日 09:08:19   作者:muzidigbig  
今天小編就為大家分享一篇關(guān)于Vuex中的State使用介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

現(xiàn)在在上一篇為什么要使用Vuex的介紹理解基礎(chǔ)上使用Vuex中的State,一個(gè)正面例子來(lái)證實(shí),同時(shí)也介紹一下Vue核心概念State。

Vuex 使用單一狀態(tài)樹(shù)——是的,用一個(gè)對(duì)象就包含了全部的應(yīng)用層級(jí)狀態(tài)。至此它便作為一個(gè)“唯一數(shù)據(jù)源 (SSOT)”而存在。這也意味著,每個(gè)應(yīng)用將僅僅包含一個(gè) store 實(shí)例。單一狀態(tài)樹(shù)讓我們能夠直接地定位任一特定的狀態(tài)片段,在調(diào)試的過(guò)程中也能輕易地取得整個(gè)當(dāng)前應(yīng)用狀態(tài)的快照。

單狀態(tài)樹(shù)和模塊化并不沖突——在后面的章節(jié)里我們會(huì)討論如何將狀態(tài)和狀態(tài)變更事件分布到各個(gè)子模塊中。

Vuex的使用

引入Vuex

方式一(推薦使用):

首先我們?cè)?vue.js 2.0+ 開(kāi)發(fā)環(huán)境中安裝 vuex :

npm install vuex --save

方式二:

1.在package.json中的dependencies字段加入:"vuex": "^3.0.0"后:

 "dependencies": {
  "vue": "^2.5.2",
  "vue-router": "^3.0.1",
  "vuex": "^3.0.0"
 },

2.終端cd到項(xiàng)目目錄然后執(zhí)行:npm install安裝即可。然后在運(yùn)行項(xiàng)目

使用Vuex

1.在 src/main.js全局 中加入 :

import Vue from 'vue'
import App from './App'
import router from './router'
// 全局加入vuex
import Vuex from 'vuex'
//通過(guò)Vue.use()來(lái)使用這個(gè)Vuex
Vue.use(Vuex)
// 引入我們分離出來(lái)的vuex文件
import {store} from './store/store'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
 el: '#app',
 // 把 store 對(duì)象提供給 “store” 選項(xiàng),這可以把 store 的實(shí)例注入所有的子組件;這里可以簡(jiǎn)寫(xiě)成一個(gè)store
 store:store,//所有的組件對(duì)象都多了一個(gè)屬性:$store
 router,
 components: { App },
 template: '<App/>'
})

2.在src目錄下新建store文件夾;在該文件夾下新建store.js文件。store.js中代碼如下:

// 在分離出來(lái)的vuex文件中安裝 Vuex 
import Vue from 'vue' 
import Vuex from 'vuex' 
Vue.use(Vuex) 
export const store = new Vuex.Store({ 
  state: { // 把頁(yè)面顯示數(shù)據(jù)寫(xiě)在store.js文件 
    goodsList: [ 
      { name: '贛州橙子', price: '8.8' }, 
      { name: '新疆哈密瓜', price: '2.0' }, 
      { name: '山東大棗', price: '3.2' }, 
      { name: '陽(yáng)澄湖大閘蟹', price: '10.0' } 
    ] 
  } 
})

3.獲取數(shù)據(jù)。

由于 Vuex 的狀態(tài)存儲(chǔ)是響應(yīng)式的,從 store 實(shí)例中讀取狀態(tài)最簡(jiǎn)單的方法就是在計(jì)算屬性中返回某個(gè)狀態(tài)或直接使用$store.state.屬性名獲取vuex中的數(shù)據(jù)。通過(guò)在根實(shí)例中注冊(cè) store 選項(xiàng),該 $store 實(shí)例會(huì)注入到根組件下的所有子組件中,且子組件能通過(guò) this.$store 訪問(wèn)到。

page3.vue和page4.vue代碼:

page3.vue

<template>
  <div>
    <h2>我是第一個(gè)頁(yè)面</h2><br>
    <router-link to='/page4'>查看第二個(gè)頁(yè)面</router-link>
    <ul class="ul_list">
      <li v-for="item in list">
        <p class="name">商品:{{item.name}}</p>
        <p class="price">價(jià)格:¥{{item.price}}</p>
      </li>
    </ul>
  </div>
</template>
<script>
 export default {
   data() {
    return {
      // 直接作為data()中屬性值使用
      list: this.$store.state.goodsList,
    }
   },
   mounted() {
    //  通過(guò)鉤子函數(shù)使用
    //  this.list = this.$store.state.goodsList
   },
  //  計(jì)算屬性
   computed: {
    list() { // 獲取store中的數(shù)據(jù)
      return this.$store.state.goodsList;
    }
   },
  }
</script>

組件仍然保有局部狀態(tài)

使用 Vuex 并不意味著你需要將所有的狀態(tài)放入 Vuex。雖然將所有的狀態(tài)放到 Vuex 會(huì)使?fàn)顟B(tài)變化更顯式和易調(diào)試,但也會(huì)使代碼變得冗長(zhǎng)和不直觀。如果有些狀態(tài)嚴(yán)格屬于單個(gè)組件,最好還是作為組件的局部狀態(tài)。你應(yīng)該根據(jù)你的應(yīng)用開(kāi)發(fā)需要進(jìn)行權(quán)衡和確定。

效果

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • vue中路由的前進(jìn)和后退問(wèn)題

    vue中路由的前進(jìn)和后退問(wèn)題

    這篇文章主要介紹了vue中路由的前進(jìn)和后退問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue中provide、inject的使用方法案例詳解

    vue中provide、inject的使用方法案例詳解

    本教程是介紹如何在vue中使用provide和inject,在 Vue 中,provide 和 inject 是用于實(shí)現(xiàn)祖先組件向后代組件傳遞數(shù)據(jù)的一種方式,對(duì)vue中provide、inject的使用方法感興趣的朋友一起看看吧
    2024-02-02
  • vue 中基于html5 drag drap的拖放效果案例分析

    vue 中基于html5 drag drap的拖放效果案例分析

    本文通過(guò)三個(gè)案例給大家介紹了vue 中基于html5 drag drap的拖放效果 ,需要的朋友可以參考下
    2018-11-11
  • Vue路由 重定向和別名的區(qū)別說(shuō)明

    Vue路由 重定向和別名的區(qū)別說(shuō)明

    這篇文章主要介紹了Vue路由 重定向和別名的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • vue.js通過(guò)自定義指令實(shí)現(xiàn)數(shù)據(jù)拉取更新的實(shí)現(xiàn)方法

    vue.js通過(guò)自定義指令實(shí)現(xiàn)數(shù)據(jù)拉取更新的實(shí)現(xiàn)方法

    數(shù)據(jù)拉取更新這個(gè)功能相信大家基本都見(jiàn)過(guò),但是如果要做起來(lái)卻不止如何做起,所以這篇文章給大家分享了vue.js通過(guò)自定義指令實(shí)現(xiàn)的方法,閱讀本文需要對(duì)vue有一定理解,有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • Vue watch原理源碼層深入講解

    Vue watch原理源碼層深入講解

    watch 是由用戶定義的數(shù)據(jù)監(jiān)聽(tīng),當(dāng)監(jiān)聽(tīng)的屬性發(fā)生改變就會(huì)觸發(fā)回調(diào),這項(xiàng)配置在業(yè)務(wù)中是很常用。在面試時(shí),也是必問(wèn)知識(shí)點(diǎn),一般會(huì)用作和 computed 進(jìn)行比較。那么本文就來(lái)帶大家從源碼理解 watch 的工作流程,以及依賴收集和深度監(jiān)聽(tīng)的實(shí)現(xiàn)
    2022-10-10
  • Vue-CLI 3.X 部署項(xiàng)目至生產(chǎn)服務(wù)器的方法

    Vue-CLI 3.X 部署項(xiàng)目至生產(chǎn)服務(wù)器的方法

    這篇文章主要介紹了Vue-CLI 3.X 部署項(xiàng)目至生產(chǎn)服務(wù)器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vant IndexBar實(shí)現(xiàn)的城市列表的示例代碼

    vant IndexBar實(shí)現(xiàn)的城市列表的示例代碼

    這篇文章主要介紹了vant IndexBar實(shí)現(xiàn)的城市列表的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • vue實(shí)現(xiàn)折疊展開(kāi)收縮動(dòng)畫(huà)效果

    vue實(shí)現(xiàn)折疊展開(kāi)收縮動(dòng)畫(huà)效果

    這篇文章主要介紹了vue實(shí)現(xiàn)折疊展開(kāi)收縮動(dòng)畫(huà),通過(guò)scrollHeight實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2023-11-11
  • vue-resource:jsonp請(qǐng)求百度搜索的接口示例

    vue-resource:jsonp請(qǐng)求百度搜索的接口示例

    今天小編就為大家分享一篇vue-resource:jsonp請(qǐng)求百度搜索的接口示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11

最新評(píng)論