当前位置: 首页 > news >正文

网站建设实验周志与总结2022近期时事热点素材

网站建设实验周志与总结,2022近期时事热点素材,超链接网站图片怎么在记事本上做,商城网站大全一,Vuex简介 Vuex是Vue.js的状态管理库,它通过中心化的状态管理使得组件间的数据共享更加容易。 Vuex包含五个核心属性:state、getters、mutations、actions和modules。 Vuex是Vue.js的状态管理库,它提供了一种集中式存储管理应…

一,Vuex简介

Vuex是Vue.js的状态管理库,它通过中心化的状态管理使得组件间的数据共享更加容易。
Vuex包含五个核心属性:state、getters、mutations、actions和modules。

Vuex是Vue.js的状态管理库,它提供了一种集中式存储管理应用程序中所有组件的状态,并将其分离到一个可预测的状态容器中。Vuex包括五个核心属性:

二,Vuex五个核心属性

1:state

state:定义了应用程序的状态,就是我们要管理的数据。
存放应用程序的状态(数据),所有组件共享。它是Vue实例的data属性的替代品,但是通过它存储和管理的状态,可以在整个应用程序中实现全局共享,即不同的组件可以通过定义的getter和setter访问同一状态数据。

const store = new Vuex.Store({state: {count: 0}
})

2:getters

getters:用于获取State中的状态,主要用于对state进行逻辑上的组合和应用,类似于Vue组件中的计算属性。

const store = new Vuex.Store({state: {count: 0},getters: {doubleCount(state) {return state.count * 2}}
})

3:mutations

mutations:用于修改state中的数据,是唯一可以修改state的地方。mutations接收state作为第一个参数,接收payload作为第二个参数。
用于修改State中的状态,只能同步执行。Mutation必须是同步函数,因为它们不能处理异步行为,异步行为应该放在Action中处理。

const store = new Vuex.Store({state: {count: 0},mutations: {increment(state) {state.count++},add(state, payload) {state.count += payload}}
})

4:actions

actions:用于异步操作和提交mutations,在actions中可以进行任何异步操作,最后再提交到mutations中同步修改state。actions接收context作为第一个参数,其中包含了state、getters和commit等属性。

可以包含任意异步操作(例如从服务器获取数据),可以用Mutation通过提交(commit)来修改State。

const store = new Vuex.Store({state: {count: 0},mutations: {increment(state) {state.count++}},actions: {incrementAsync(context) {setTimeout(() => {context.commit('increment')}, 1000)}}
})

5:modules

modules:用于将store分割成模块,每个模块都拥有自己的state、mutation、action、getters和子模块,以便提高应用程序的可维护性。

将State、Getter、Mutation、Action模块化,便于组件化和模块化开发。

const store = new Vuex.Store({modules: {cart: {state: {items: []},mutations: {addItem(state, item) {state.items.push(item)}},actions: {addAsyncItem(context, item) {setTimeout(() => {context.commit('addItem', item)}, 1000)}}}}
})

使用方法示例:

const store = new Vuex.Store({modules: {cart: {state: {items: []},mutations: {pushProductToCart (state, payload) {state.items.push({id: payload.id,quantity: 1})}},actions: {addProductToCart ({ state, commit }, product) {const cartItem = state.items.find(item => item.id === product.id)if (!cartItem) {commit('pushProductToCart', product)}}},getters: {cartItems: state => {return state.items}}}}
})
这个代码创建了一个包含cart模块的Vuex store对象,其中cart模块包含state、mutations、actions和getters四个属性,用于管理购物车数据。在addProductToCart action中,使用state.items和commit方法来修改cart模块中的数据。在cartItems getter中,使用state.items来计算购物车中的商品数量和总价。

三,Vuex使用方法

使用方法:

1:安装Vuex:npm install vuex --save

2:在main.js中,导入Vuex,并使用Vue.use()方法注册Vuex。

import Vue from 'vue'
import Vuex from 'vuex'
import App from './App.vue'
Vue.use(Vuex)
const store = new Vuex.Store({state: {count: 0},mutations: {increment(state) {state.count++}}
})
new Vue({store,render: h => h(App)
}).$mount('#app')

3:在组件中使用vuex中的数据和方法。


<template><div><p>Count: {{ count }}</p><button @click="increment">Increment</button></div>
</template>
<script>
export default {computed: {count() {return this.$store.state.count}},methods: {increment() {this.$store.commit('increment')}}
}
</script>

4:vuex综合案例

下面是一个简单的Vuex使用方法的示例:

// 引入Vue和Vuex
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
// 创建一个Store
const store = new Vuex.Store({// 定义Statestate: {count: 0},// 定义Mutationmutations: {increment: state => state.count++,decrement: state => state.count--},// 定义Gettergetters: {evenOrOdd: state => state.count % 2 === 0 ? 'even' : 'odd'},// 定义Actionactions: {incrementIfOdd ({ commit, state }) {if ((state.count + 1) % 2 === 0) {commit('increment')}}}
})
new Vue({el: '#app',store,template: `<div><p>Count: {{ count }}</p><p>Even or Odd? {{ evenOrOdd }}</p><button @click="increment">Increment</button><button @click="decrement">Decrement</button><button @click="incrementIfOdd">IncrementIfOdd</button></div>`,computed: {count () {return this.$store.state.count},evenOrOdd () {return this.$store.getters.evenOrOdd}},methods: {increment () {this.$store.commit('increment')},decrement () {this.$store.commit('decrement')},incrementIfOdd () {this.$store.dispatch('incrementIfOdd')}}
})

这个代码创建了一个Vuex Store,并定义了State、Mutation、Getter、Action。然后将Store实例与Vue实例关联。在Vue组件中,使用计算属性(computed)和方法(methods)来访问State、Getter和Action。在方法中,使用commit来提交Mutation,使用dispatch来分发Action。

http://www.yidumall.com/news/82415.html

相关文章:

  • 做网站 怎么连到数据库seo沈阳
  • 北京网页设计哪家好石家庄seo外包公司
  • 校园微网站界面注册一个域名需要多少钱
  • 电子商务网站建设汇报PPT关键词搜索指数
  • 想注册自己的品牌怎么注册巩义网站优化公司
  • 浦江做网站杭州seo技术
  • 网站开发职责与要求免费制作网站
  • 网站建设的推广渠道线下广告投放渠道都有哪些
  • wordpress奖励插件网站优化课程
  • 肇庆网站制作软件游戏推广员好做吗
  • 惠州百度seo哪里强seo流量软件
  • 怎样做企业网站建设hao123上网从这里开始官方
  • 为什么自己做的网站打开是乱码网站有哪些平台
  • 郑州php网站开发培训凡科建站官网
  • 定州做网站全球搜索网站排名
  • 北京市保障房建设官方网站山西seo排名厂家
  • 龙岗微网站建设竞价托管收费标准
  • wordpress 2.8seo网站推广计划
  • 网站简单设计福州网站开发公司
  • 目录做排名 网站网站快速上排名方法
  • 网站后台编辑器不显示软文代写兼职
  • 专业做网站推广的公司东莞产品网络推广
  • 免费的正能量视频素材网站最新域名ip地址
  • 中国建设银行官网站e路护下载关键词上首页软件
  • 做女装的网站有哪些怎样推广网站
  • 酒店网站策划seo发包软件
  • 做农产品的网站互联网营销策划是做什么的
  • 网站功能界面设计北京疫情消息1小时前
  • 临沂做商城网站设计营销推广的主要方法
  • 做网站需要交接什么项目外包平台