亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vuex狀態(tài)管理數(shù)據(jù)狀態(tài)查詢與更改方式

 更新時間:2022年04月12日 15:29:59   作者:青衣瀏陽  
這篇文章主要介紹了vuex狀態(tài)管理數(shù)據(jù)狀態(tài)查詢與更改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

狀態(tài)管理數(shù)據(jù)狀態(tài)查詢與更改

1.main.js里引入狀態(tài)管理

import store from './store'?
new Vue({
? el: '#app',
? router,
? store,
? components: { App },
? template: '<App/>'
})

2.store的創(chuàng)建

import Vue from 'vue'
import Vuex from 'vuex'
import errorLog from './modules/user'
const getters={
name: state => state.user.name,
}

Vue.use(Vuex)

const store = new Vuex.Store({
? modules: {
? ? user
? },
? getters
})
export default store

user.js里的內容,只定義了一個修改store里name的方法。

由于vuex中store的改變唯一的途徑是提交mutation,通過調用實例化后的vuex,mutations中相對應的方法可以實現(xiàn)對狀態(tài)值的改變,其中name可以為參數(shù)對象,或者單個值,state參數(shù)在調用時默認為第一個參數(shù)可以不傳,但是在mutations中申明該函數(shù)時必須傳入state

? mutations: {
? ? SET_NAME: (state, name) => {
? ? ? state.name = name
? ? }
? }
export default user

在子組件中通過this.$store.state.變量名在子組件中訪問state中某個變量的值

this.user.name = this.$store.state.name //這里的name為存儲在vuex中state的變量名

在子組件中通過this.$store.commit(‘方法名’,參數(shù))來進行對vuex中的數(shù)據(jù)狀態(tài)進行更新/插入

//在子組件中更新store中的狀態(tài)
?this.$store.commit("name",userName)//其中userName為傳入的參數(shù)

vuex數(shù)據(jù)管理,組件數(shù)據(jù)一一對應

需求:我們點擊拍照后將拍好的照片放入vuex的state里面管理,給其他的組件調用(此處以組件A,和組件B命名)

1.組件A:我們拿到圖片數(shù)據(jù)源

并且在點擊拍照的同時創(chuàng)建一個當前時間,將圖片源和時間以對象的形式提交vuex。

var url = canvas.toDataURL();
var date=new Date().toLocaleTimeString()
this.$store.commit("canvass", {url,date});

2. vuex(首先要記得下載和安裝vuex,此處省略)

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
 var state={   //要設置的全局訪問的state對象
     canvass:[]//圖片和時間保存在這
   };
    var getters = {   //實時監(jiān)聽state值的變化(最新狀態(tài))
    getCanvass(state) {  //承載變化的getCanvass的值 ,給組件B調用
       return state.canvass
    }
};
var mutations = {
    canvass(state,datalist){  //組件A提交過來的數(shù)據(jù),給到canvass中保存
        state.canvass.unshift(datalist)
    }
};
 var actions = {
 
};
  var store = new Vuex.Store({
       state,
       getters,
       mutations,
       actions
});
export default store;

3.組件B

html

<!-- 時間 -->
<ul class="row1">
  <li
    v-for="i in imglist"
    :key="i.url"
    @click="doImg(i.url)" //將循環(huán)到的圖片數(shù)據(jù)存入組件的數(shù)組中,方便時間和圖片一一對應
    class="infinite-list-item"
  >
    <el-button size="small">{{ i.date }}</el-button>
  </li>
</ul>
<!-- 當imglist數(shù)組中有數(shù)據(jù)的時候渲染imglist中的數(shù)據(jù),當用戶點擊按鈕的時候顯示url數(shù)組中的數(shù)據(jù) -->
<!-- 圖片 v-if判斷當imglist.length>0也就是最少有一條數(shù)據(jù)的時候才渲染該dom -->
<img :src="flag?imglist[0].url: url" class="image" v-if="imglist.length>0" />

vue

data() {
    return {
      imglist: [], //默認的圖片時間數(shù)據(jù)
      url: [], //點擊按鈕后對應的圖片時間數(shù)據(jù)
      flag:true
    };
  },
  created() {
    this.imglist = this.$store.getters.getCanvass; //拿到vuex中getters中的canvass數(shù)據(jù)
  }
 methods: {
    doImg(url) {
      this.url = url.split("???"); //點擊按鈕后將圖片時間數(shù)據(jù)保存到當前最近的url數(shù)組中
      this.flag=false
    }
 }

大致效果

這樣當我們沒有進行拍照進入該頁面的時候是空白顯示,當然我們進行拍照了之后進入該頁面,默認顯示最新拍的哪一張,在組件A拍照了幾張照片組件B就會顯示幾個時間點,點擊不同的時間點右側出現(xiàn)不同的時間點拍的照片

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關文章

  • Element-UI表格嵌入popover遇到的問題及解決方案

    Element-UI表格嵌入popover遇到的問題及解決方案

    在表格中我們通常需要在每一行的一些單元格中顯示popover,這篇文章主要給大家介紹了關于Element-UI表格嵌入popover遇到的問題及解決方案,需要的朋友可以參考下
    2023-11-11
  • Vue高性能列表GridList組件及實現(xiàn)思路詳解

    Vue高性能列表GridList組件及實現(xiàn)思路詳解

    這篇文章主要為大家介紹了Vue高性能列表GridList組件及實現(xiàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • vue3+vite+ts父子組件之間的傳值

    vue3+vite+ts父子組件之間的傳值

    隨著vue2的落幕,vue3越來成熟,有必要更新一下vue3的父子組件之間的傳值方式,這里介紹下vue3+vite+ts父子組件之間的傳值方式實例詳解,感興趣的朋友一起看看吧
    2023-12-12
  • daisyUI解決TailwindCSS堆砌class問題詳解

    daisyUI解決TailwindCSS堆砌class問題詳解

    這篇文章主要為大家介紹了daisyUI解決TailwindCSS堆砌class問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • web前端vue之vuex單獨一文件使用方式實例詳解

    web前端vue之vuex單獨一文件使用方式實例詳解

    Vuex 是一個專為 Vue.js 應用程序開發(fā)的狀態(tài)管理模式。這篇文章主要介紹了web前端vue:vuex單獨一文件使用方式,需要的朋友可以參考下
    2018-01-01
  • jeecgboot-vue3查詢區(qū)label文字居左實現(xiàn)過程解析

    jeecgboot-vue3查詢區(qū)label文字居左實現(xiàn)過程解析

    這篇文章主要為大家介紹了jeecgboot-vue3查詢區(qū)label文字居左實現(xiàn)過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2023-08-08
  • vue項目網(wǎng)站全局置灰功能實現(xiàn)示例詳解

    vue項目網(wǎng)站全局置灰功能實現(xiàn)示例詳解

    這篇文章主要為大家介紹了vue項目網(wǎng)站全局置灰功能實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • VuePress 快速踩坑小結

    VuePress 快速踩坑小結

    VuePress 可以讓您非常方便的在 Markdown 文檔中編寫 Vue 代碼,這篇文章主要介紹了VuePress 快速踩坑小結,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 詳解vue v-model

    詳解vue v-model

    這篇文章主要介紹了vue v-model的相關資料,幫助大家更好的理解和學習vue,感興趣的朋友可以了解下
    2020-08-08
  • Ant design vue table 單擊行選中 勾選checkbox教程

    Ant design vue table 單擊行選中 勾選checkbox教程

    這篇文章主要介紹了Ant design vue table 單擊行選中 勾選checkbox教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評論