欧美videos另类精品-欧美videos另类极品-欧美vide-欧美va在线视频-欧美va在线观看-欧美va在线播放免费观看

超簡(jiǎn)單入門Vuex小示例

2020-4-28    seo達(dá)人

寫(xiě)在前面

本文旨在通過(guò)一個(gè)簡(jiǎn)單的例子,練習(xí)vuex的幾個(gè)常用方法,使初學(xué)者以最快的速度跑起來(lái)一個(gè)vue + vuex的示例。

學(xué)習(xí)vuex需要你知道vue的一些基礎(chǔ)知識(shí)和用法。相信點(diǎn)開(kāi)本文的同學(xué)都具備這個(gè)基礎(chǔ)。

另外對(duì)vuex已經(jīng)比較熟悉的大佬可以忽略本文。

生成基于vue的項(xiàng)目

基于vue-cli腳手架生成一個(gè)vue項(xiàng)目
常用npm命令:

npm i vue-vli -g vue --version vue init webpack 項(xiàng)目名 

進(jìn)入項(xiàng)目目錄,使用npm run dev先試著跑一下。

一般不會(huì)出現(xiàn)問(wèn)題,試跑成功后,就可以寫(xiě)我們的vuex程序了。

使用vue完成的示例

使用vuex首先得安裝vuex,命令:

npm i vuex --save

介紹一下我們的超簡(jiǎn)單Demo,一個(gè)父組件,一個(gè)子組件,父組件有一個(gè)數(shù)據(jù),子組件有一個(gè)數(shù)據(jù),想要將這兩個(gè)數(shù)據(jù)都放置到vuex的state中,然后父組件可以修改自己的和子組件的數(shù)據(jù)。子組件可以修改父組件和自己的數(shù)據(jù)。

先放效果圖,初始化效果如下:

如果想通過(guò)父組件觸發(fā)子組件的數(shù)據(jù),就點(diǎn)“改變子組件文本”按鈕,點(diǎn)擊后效果如下:

如果想通過(guò)子組件修改父組件的數(shù)據(jù),就在子組件點(diǎn)擊“修改父組件文本”按鈕,點(diǎn)擊后效果如下:

代碼文件介紹

首先是Parent.vue組件

<template> <div class="parent"> <h3>這里是父組件</h3> <button type="button" @click="clickHandler">修改自己文本</button> <button type="button" @click="clickHandler2">修改子組件文本</button> <div>Test: {{msg}}</div> <child></child> </div> </template> <script> import store from '../vuex' import Child from './Child.vue' export default { computed: {
            msg(){ return store.state.testMsg;
            }
        }, methods:{
            clickHandler(){
                store.commit('changeTestMsg', '父組件修改自己后的文本')
            },
            clickHandler2(){
                store.commit('changeChildText', '父組件修改子組件后的文本')
            }
        }, components:{ 'child': Child
        },
        store,
    } </script> <style scoped> .parent{ background-color: #00BBFF; height: 400px;
    } </style> 

下面是Child.vue子組件

<template> <div class="child"> <h3>這里是子組件</h3> <div>childText: {{msg}}</div> <button type="button" @click="clickHandler">修改父組件文本</button> <button type="button" @click="clickHandler2">修改自己文本</button> </div> </template> <script> import store from '../vuex' export default { name: "Child", computed:{
            msg(){ return store.state.childText;
            }
        }, methods: {
            clickHandler(){
                store.commit("changeTestMsg", "子組件修改父組件后的文本");
            },
            clickHandler2(){
                store.commit("changeChildText", "子組件修改自己后的文本");
            }
        },
        store
    } </script> <style scoped> .child{ background-color: palegreen; border:1px solid black; height:200px; margin:10px;
    } </style> 

最后是vuex的配置文件

 import Vue from 'vue' import Vuex from 'vuex';

Vue.use(Vuex) const state = { testMsg: '原始文本', childText:"子組件原始文本" } const mutations = {
    changeTestMsg(state, str){
        state.testMsg = str;
    },
    changeChildText(state, str){
        state.childText = str;
    }

} const store = new Vuex.Store({ state: state, mutations: mutations
}) export default store;

后記

通過(guò)該vuex示例,了解vuex的常用配置及方法調(diào)用。希望對(duì)不怎么熟悉vuex的同學(xué)快速上手vuex項(xiàng)目有點(diǎn)幫助。

因?yàn)闆](méi)太多東西,我自己也是剛接觸,本例就不往GitHub扔了,如果嘗試了本例,但是沒(méi)有跑起來(lái)的同學(xué),可以一起交流下。

日歷

鏈接

個(gè)人資料

存檔

主站蜘蛛池模板: 亚洲精品97福利在线 | 国产欧美一区二区精品久久久 | 久久中文字幕乱码免费 | 国产亚洲精品一区久久 | 青草草产国视频 | 扒开女人下面 | 波多野结衣一区免费作品 | 牛牛色婷婷在线视频播放 | jzjzjz日本在线观看 | 亚洲 欧美 中文 日韩 视频 | 色综合视频一区二区观看 | 日韩美一区二区三区 | 亚洲视频观看 | 国产探花在线观看 | 成年人免费在线看的惊悚动作片 | chinesespank打屁股 | 九九久久国产精品大片 | 91超级碰 | 国产伦精品一区二区 | 粗暴hd另类另类 | 91天堂素人 | 久久国产精品永久免费网站 | 女生被爆操 | 亚洲剧情在线观看 | 亚洲va久久久噜噜噜久久狠狠 | 香蕉久草| 欧美大片一区二区 | 男男playh片在线观看 | 国产成人高清精品免费观看 | 国产日韩片 | 亚洲国产成人99精品激情在线 | 2021国产麻豆剧传媒新片 | 电车痴汉中文字幕 | 精品视频在线观看免费 | 久久久久夜 | 免费一级毛片在线播放放视频 | 国产午夜成人无码免费看 | 国产自拍视频一区 | 公园吃女人奶野战视频 | 久久受www免费人成_看片中文 | 九九热在线免费观看 |