国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vuex前端開發(fā),getters是什么?怎么調(diào)用?簡單的案例操作

這篇具有很好參考價值的文章主要介紹了vuex前端開發(fā),getters是什么?怎么調(diào)用?簡單的案例操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

vuex前端開發(fā),getters是什么?怎么調(diào)用?簡單的案例操作!

下面通過一些簡單的案例,來了解一下,vuex當(dāng)中的getters到底是什么意思,有哪些實際的操作案例。


Vuex的getters主要用于對store中的state進行計算或過濾,類似于Vue組件中的計算屬性。它可以對state進行一些處理,然后返回一個新的值,供組件使用。

使用getters的好處有:

  1. 可以將一些常用的計算邏輯封裝在getters中,避免在多個組件中重復(fù)編寫相同的計算代碼。
  2. getters可以緩存計算結(jié)果,只有當(dāng)依賴的state發(fā)生變化時,才會重新計算,提高性能。
  3. getters可以接收其他getters作為參數(shù),可以實現(xiàn)對多個狀態(tài)的聯(lián)合計算

// 在store/index.js中定義getters
const store = new Vuex.Store({
  state: {
    todos: [
      { id: 1, text: 'Learn Vue', done: true },
      { id: 2, text: 'Build an app', done: false },
      { id: 3, text: 'Deploy to production', done: false }
    ]
  },
  getters: {
    // 計算未完成的任務(wù)數(shù)量
    unfinishedCount: state => {
      return state.todos.filter(todo => !todo.done).length;
    },
    // 獲取所有已完成的任務(wù)
    completedTodos: state => {
      return state.todos.filter(todo => todo.done);
    }
  }
});

// 在組件中使用getters
export default {
  computed: {
    unfinishedCount() {
      return this.$store.getters.unfinishedCount;
    },
    completedTodos() {
      return this.$store.getters.completedTodos;
    }
  }
}

下面給大家看看我個人在本地測試的實際項目案例代碼。

import './assets/main.css'

import { createApp } from 'vue'
import App from './App.vue'
import {createStore} from 'vuex'
const store =createStore({
    state(){
        return {
            count:1,
            str:'我是來自VUEX的',
            todos:[
                {id:1,text:'Learn Vue',done:true},
                {id:2,text:'Build an app',done:false},
                {id:3,text:'Deploy to production',done:false},
                {id:4,text:'write an website',done:true}
            ]
        }
    },
    getters:{
        //計算未完成的任務(wù)數(shù)量
        unfinishedCount: state => {
            return state.todos.filter(todo => !todo.done).length;
        },
        //獲取所有已完成的任務(wù)
        completedTodos: state => {
            return state.todos.filter(todo => todo.done).length;
        }
    }

})


createApp(App).use(store).mount('#app')

這個代碼是來自main.js。里面我配置了一下store的基礎(chǔ)數(shù)據(jù)情況。

里面有一個state,共享了一個數(shù)組。

還有一個getters屬性,里面對外暴漏了2個函數(shù)。分別是統(tǒng)計未完成的任務(wù)數(shù)量,和已經(jīng)完成的任務(wù)數(shù)量。


<template>
    <h3>todos-getters練習(xí)</h3>
    <p>未完成 的任務(wù)數(shù):{{ unfinishedCount }}</p>
    <p>已完成的任務(wù)數(shù):{{ completedTodos  }}</p>
</template>
<script>
    export default{
        data(){
            return{
                
            }
        },
        computed:{
           
         unfinishedCount(){
            return this.$store.getters.unfinishedCount;
         },
         completedTodos(){
            return this.$store.getters.completedTodos;
         }
    
        }
    }
</script>

這個我單獨定義了一個組件,名字是Todos.vue。里面可以看見有計算屬性。通過計算屬性,可以調(diào)用到store里面的getters函數(shù)。這樣用起來就會很方便了。

畢竟,getters誕生的本意,就是以為了讓人們快速方便的操作共享數(shù)據(jù)的。

計算屬性本身就是一個函數(shù),只是它做了封裝。使得一些較為復(fù)雜的數(shù)據(jù)邏輯計算,被封裝成了一個函數(shù)的形式,對外調(diào)用的時候,也就顯得較為簡化了。如圖,直接使用vue的插值運算符,就能調(diào)用計算屬性了。這個就是計算屬性的優(yōu)勢和便捷。


<template>
  <h3>vuex的基礎(chǔ)使用</h3>
  <!-- <p>{{ $store.state.str }}</p> -->
  <Addtion />
  <Subtract />
  <Todos />
</template>
<script>
import Addtion from './components/Addtion.vue'
import Subtract from './components/Subtract.vue';
import Todos from './components/Todos.vue';
  export default{
    components:{
      Addtion,
      Subtract,
      Todos
    },
    data(){
      return{
        
      }
    }
    
  }
</script>

這個是入口文件app.vue的內(nèi)容。我已經(jīng)在app里面做了注冊??梢宰尳M件todos.vue正常顯示。


vuex前端開發(fā),getters是什么?怎么調(diào)用?簡單的案例操作,vue,前端,javascript,開發(fā)語言

如圖,可以看見,正確了獲得了,已經(jīng)完成 的任務(wù)數(shù)量,和未完成的任務(wù)數(shù)量。


vuex前端開發(fā),getters是什么?怎么調(diào)用?簡單的案例操作,vue,前端,javascript,開發(fā)語言

計算出來對結(jié)果是正確的。2個true,2個false.文章來源地址http://www.zghlxwxcb.cn/news/detail-803009.html

到了這里,關(guān)于vuex前端開發(fā),getters是什么?怎么調(diào)用?簡單的案例操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Vuex狀態(tài)管理】Vuex的基本使用;核心概念State、Getters、Mutations、Actions、Modules的基本使用

    【Vuex狀態(tài)管理】Vuex的基本使用;核心概念State、Getters、Mutations、Actions、Modules的基本使用

    在開發(fā)中,應(yīng)用程序需要處理各種各樣的數(shù)據(jù),這些數(shù)據(jù)需要保存在應(yīng)用程序中的某一個位置,對于這些數(shù)據(jù)的管理就稱之為是 狀態(tài)管理。 在前面是如何管理自己的狀態(tài)呢? 在Vue開發(fā)中,使用組件化的開發(fā)方式; 而在組件中定義data或者在setup中返回使用的數(shù)據(jù),這些數(shù)據(jù)稱

    2024年02月07日
    瀏覽(57)
  • springboot項目開發(fā),使用thymeleaf前端框架的簡單案例

    springboot項目開發(fā),使用thymeleaf前端框架的簡單案例

    springboot項目開發(fā),使用thymeleaf前端框架的簡單案例!我們看一下,如何在springboot項目里面簡單的構(gòu)建一個thymeleaf的前端頁面。來完成動態(tài)數(shù)據(jù)的渲染效果。 第一步,我們在上一小節(jié),已經(jīng)提前預(yù)下載了對應(yīng)的組件了。 如圖,springboot的強大之處就在于,它有一套完整的版本依

    2024年01月25日
    瀏覽(23)
  • Vuex中的States、Mutations、Actions、Getters、Modules、Plugins的作用(推薦使用版本)

    目錄 一、State 二、Mutations 三、Actions 四、Getters 五、Modules 前提:state.js要引入, ?下面我都省略了 所有共享數(shù)據(jù)都放到Store的state中存儲 訪問: 作用:修改Vuex中的全局數(shù)據(jù) 1、只能通過Mutation變更Store中的數(shù)據(jù) 2、操作有點繁瑣,但可以集中監(jiān)控所有數(shù)據(jù)變化 定義mutations: 組

    2024年02月05日
    瀏覽(23)
  • 【VUEX】state、mutations、actions、getters、modules以及輔助函數(shù)mapState和mapGetters

    Vuex 簡介:vuex是vue.js的狀態(tài)管理庫 提供一種集中式存儲管理應(yīng)用程序中的所有組件的狀態(tài),并將其分離到一個可預(yù)測的狀態(tài)容器中。 五個核心屬性:state、mutations、actions、getters、modules 屬性 作用 state 存放狀態(tài) (數(shù)據(jù)),所有組件共享 mutations 唯一可以修改state的地方, 改變

    2024年02月13日
    瀏覽(49)
  • vuex是什么?怎么使用?哪種功能場景使用它?

    Vuex是Vue.js官方推薦的狀態(tài)管理庫,用于在Vue應(yīng)用程序中管理和共享狀態(tài)。它基于Flux架構(gòu)和單向數(shù)據(jù)流的概念,將應(yīng)用程序的狀態(tài)集中管理,使得狀態(tài)的變化更可追蹤、更易于管理。Vuex提供了一個全局的狀態(tài)樹,以及一些用于修改狀態(tài)的方法。 使用Vuex的一般步驟如下: 安裝

    2024年01月17日
    瀏覽(15)
  • web開發(fā)中,簡單的案例說明前端頁面和后端以及mysql數(shù)據(jù)庫的交互過程

    web開發(fā)中,簡單的案例說明前端頁面和后端以及mysql數(shù)據(jù)庫的交互過程

    ????????首先這是一個基于 web開發(fā) 的稿子,作者也是轉(zhuǎn)java20天左右,以前也一直迷惑起那段頁面是如何和后端進行交互,數(shù)據(jù)提交提交到了哪里?后端開發(fā)如何獲取到前端提交的數(shù)據(jù)呢?后端數(shù)據(jù)提交到數(shù)據(jù)庫中應(yīng)該如何處理,接下來通過一個簡單的例子,登錄案例 (實

    2024年02月03日
    瀏覽(23)
  • YAPi在線接口文檔簡單案例(結(jié)合Vue前端Demo)

    YAPi在線接口文檔簡單案例(結(jié)合Vue前端Demo)

    在前后端分離開發(fā)中,我們都是基于文檔進行開發(fā),那前端人員有時候無法馬上拿到后端的數(shù)據(jù),該怎么辦?我們一般采用mock模擬偽造數(shù)據(jù)直接進行測試,本篇文章主要介紹YApi在線接口文檔的簡單使用,并結(jié)合Vue的小demo,讓你快速了解到前后端分離開發(fā)整體流程。 YApi 是高

    2024年02月07日
    瀏覽(22)
  • uniapp前端+python后端=微信小程序支付到底怎么開發(fā)???國內(nèi)的資料為什么沒一篇能講清楚,簡簡單單的只需要3步就可以了-V2版本

    uniapp前端+python后端=微信小程序支付到底怎么開發(fā)???國內(nèi)的資料為什么沒一篇能講清楚,簡簡單單的只需要3步就可以了-V2版本

    真的,在接到這個任務(wù)的時候,本以為很簡單,不就是普通的瀏覽器復(fù)制粘貼,最不濟找下gpt給生成一下,但是到實際開發(fā)就不同了,不是后端出問題就是前端,搜資料,上百度上google,基本每一個人講的都不一樣,不是這問題就是那問題,特別是微信官方,自己接口的邏輯

    2024年01月22日
    瀏覽(30)
  • Vuex的簡介以及入門案例

    Vuex的簡介以及入門案例

    Vuex介紹 Vuex是一種狀態(tài)管理模式,它專為Vue.js應(yīng)用程序開發(fā)設(shè)計。使用Vuex能夠更好地組織Vue.js應(yīng)用中的代碼,并使代碼更容易理解和維護。 Vuex把應(yīng)用的狀態(tài)(數(shù)據(jù))集中存儲到一個全局的store對象中,并使用mutations(同步任務(wù))和actions(異步任務(wù))來修改狀態(tài)。Vuex的數(shù)據(jù)流

    2024年02月07日
    瀏覽(24)
  • vuex中actions異步調(diào)用以及讀取值

    vuex中actions異步調(diào)用以及讀取值

    提示:這里簡述項目相關(guān)背景: 將根據(jù)segmentId查出來的合同信息托管到vuex中,讓每個人都可以獲取到合同信息 1:調(diào)用vuex異步函數(shù)的語法是 this.$store.dispatch(\\\'actions方法名\\\',值) 2:在computed(計算屬性)中使用mapState語法糖 computed: { ? ? ...mapState({ ? ? ? contractCode:state = state.c

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包