vue 计数器_Vuex实现计数器以及列表展示效果

本篇教程将以计数器及列表展示两个例子来讲解Vuex的简单用法。

从安装到启动初始页面的过程都直接跳过。注意安装时选择需要路由。

首先,src目录下新建store目录及相应文件,结构如下:

index.js文件内容:

import Vue from "vue"

import Vuex from 'vuex'

Vue.use(Vuex); //务必在new Vuex.Store之前use一下

export default new Vuex.Store({

state:{

count:0 //计数器的count

},

mutations:{

increment(state){

state.count++

}

}

})

src下的main.js里注册store

new Vue({

el: '#app',

router,

store, //注册store

components: { App },

template: ''

});

components文件夹内新建Num.vue组件,内容如下

列表demo

import store from '../store'

export default {

computed:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以的。首先,你需要安装VueVuex,并在你的项目中导入它们。然后,你可以创建一个Vue实例,并在其中引入Vuex。 在Vuex中,你可以创建一个包含登录状态和购物车计数器的store。你可以在store中定义一个state对象,其中包含登录状态和购物车计数器的初始值。然后,你可以定义一些mutation来修改state中的值。例如,你可以定义一个mutation来设置登录状态为true或false,以及一个mutation来增加或减少购物车计数器的值。 在Vue组件中,你可以使用mapState将state中的值映射到组件的计算属性中,并使用mapMutations将mutation映射到组件的方法中。这样,你就可以在组件中访问和修改登录状态和购物车计数器了。 以下是一个简单的示例代码: ```javascript // main.js import Vue from 'vue' import Vuex from 'vuex' import App from './App.vue' Vue.use(Vuex) const store = new Vuex.Store({ state: { loggedIn: false, cartCount: 0 }, mutations: { setLoggedIn(state, value) { state.loggedIn = value }, incrementCartCount(state) { state.cartCount++ }, decrementCartCount(state) { state.cartCount-- } } }) new Vue({ store, render: h => h(App) }).$mount('#app') ``` ```vue <!-- App.vue --> <template> <div> <p v-if="loggedIn">已登录</p> <p v-else>未登录</p> <p>购物车数量: {{ cartCount }}</p> <button @click="login">登录</button> <button @click="logout">登出</button> <button @click="addToCart">添加到购物车</button> <button @click="removeFromCart">从购物车移除</button> </div> </template> <script> import { mapState, mapMutations } from 'vuex' export default { computed: { ...mapState(['loggedIn', 'cartCount']) }, methods: { ...mapMutations(['setLoggedIn', 'incrementCartCount', 'decrementCartCount']), login() { this.setLoggedIn(true) }, logout() { this.setLoggedIn(false) }, addToCart() { this.incrementCartCount() }, removeFromCart() { this.decrementCartCount() } } } </script> ``` 上述代码中,我们在store中定义了state对象和mutations,然后在组件中使用mapState将state中的值映射到计算属性中,使用mapMutations将mutations映射到组件的方法中。在模板中,我们根据登录状态和购物车计数器的值来展示相应的信息,并通过按钮来触发相应的方法来修改状态。 这只是一个简单的示例,你可以根据你的实际需求来扩展和修改。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值