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

建设安全员协会网站深圳营销型网站建设哪家好

建设安全员协会网站,深圳营销型网站建设哪家好,什么网站可以做头像,一台服务器可以建设几个网站1.简介(1)vuexVuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库vuex是为vue.js开发的状态管理模式、组件状态集中管理(2)单页面数据流状态发生变化, 视图就重新渲染state发生变化时, 导致view视图发生改变, 视图通过操作action行为, 又会使得state状态发生变化(3)使用场…

1.简介

(1)vuex

  • Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库

  • vuex是为vue.js开发的状态管理模式、组件状态集中管理

(2)单页面数据流

  • 状态发生变化, 视图就重新渲染

  • state发生变化时, 导致view视图发生改变, 视图通过操作action行为, 又会使得state状态发生变化

(3)使用场景

  • 多个试图依赖于同一状态

  • 来自不同试图的行为需要变更同一状态

2.使用

(1)安装

  npm i vuex -save-dev

(2)创建保存数的容器store

//main.js文件中
// 引入
import { createStore } from 'vue'
// 创建Store vuex实例
const store = createStore({state(){return{count: 0}}
})
// 注册全局组件
app.use(store)

(3)state获取store中的数据

在vue组件中通过 this.$store访问store实例, 通过实例的state属性获取对象

通过$store.state 获取数据, 无论在哪个组件都可以获取, 无需传递数据

方式1: 在模板语法中直接使用, 不需要添加this

<!-- 选项式API -->
<div>first---{{ $store.state.count }}</div>
<!-- 组合式API -->

方式2: 通过计算属性的方式使用

<template><div>firstName----{{ first }}</div><div>secondName----{{ second }}</div>
</template>
<script>export default{computed: {first(){return this.$store.state.firstName}}}
</script>

方式3: 使用辅助函数 mapState

computed: mapState({first: state => state.first,// 不能使用箭头函数, 箭头函数中的this指向的是函数定义位置的上下文this// 如果想使用this, 需使用普通函数second(state){return state.secondName + this.preName}
}),

方式4: 当计算属性名称与store中的数据名称一样

computed: mapState(['firstName','secondName']),

方式5: 使用解构的形式 既可以包含各自组件中的计算属性, 也可使用store中的数据

computed: {newList(){return this.preName},// 解构出来, 相当于写了几个函数...mapState({first: state => state.first,second(state){return state.secondName + this.preName}})
},

(4)定义getters

可以认为是 store 的计算属性, 对状态的一个值进行计算后得到新的值

//直接在组件中使用
<div>{{  $store.getters.newName }}</div>
getters: {newName (state){return state.firstName.toUpperCase()},newSecond(state,getters){return getters.newName + 'bbbb'}
},
// 使用getters
...mapGetters(['newName','newSecond'])<div>newName----{{ newName }}</div>

(5)mutation修改数据(同步)

不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation, mutation必须是同步函数

	// 修改, 转变, 改变, 修改mutations: {// 每一个mutation 都必须是一个同步函数,   不能是异步: 如果是异步,页面刷新后,数据才更新// 每个方法都有一个state参数,表示state返回的对象updateData(state){console.log(state);state.count++},// 第一个参数必须是state, 从第二个参数开始是载荷 payLoad// changeMsg(state, news){// 	news = state.firstName// 	state.msg += news // }// 使用 调用时传递的参数changeMsg(state, payLoad){state.msg += payLoad.news }},

使用

	methods:{// 方式 1 : add(){// 修改数据只能通过 commit// 更新数据  调了  store中的mutations的updateData方法this.$store.commit('updateData')},// 方式 2 change(){this.$store.commit({type: 'changeMsg',news: 'hahaha'})}}

(6)actions修改数据(异步)

	mutations: {updateData(state){console.log(state);state.count++},},//  可包含任意异步操作,    Action 提交的是 mutation,而不是直接变更状态。Action 函数接受一个与 store 实例具有相同方法和属性的 context 对象,可调用 context.commit 提交一个 mutation,或者通过 context.state 和 context.getters 来获取 state 和 gettersactions: {// context 上下文    接受一个与 store 实例具有相同方法和属性的 context 对象     可接受参数, 从第二个参数开始为载荷dispatchMsg (context) {context.commit('updateData')}},

使用时, 通过dispatch分发

methods:{disMsg(){this.$store.dispatch('dispatchMsg')// 以载荷形式分发/* 	this.$store.dispatch('incrementAsync', {amount: 10})// 以对象形式分发this.$store.dispatch({type: 'incrementAsync',amount: 10}) */},
}

(7)辅助函数

import { mapState,mapGetters, mapMutations, mapActions } from 'vuex'

mapState[computed]

mapGetters[computed]

mapActions[methods]

mapMutations[methods]

官方文档:

https://vuex.vuejs.org/zh/installation.html

http://www.yayakq.cn/news/391631/

相关文章:

  • 北京哪里做网站选择网站建设公司应该注意什么
  • cms建站程序深圳建站公司
  • 对酒店网站建设的意见高端网站建设公司名字
  • 寻找常州微信网站建设做+淘宝客最大的网站是叫什么
  • 青岛外贸网站运营哪家好微信小程序开发要多少钱
  • 做网站推广的企业昆明网站定制开发
  • 网站设计机构培训信阳百度推广公司
  • dw个人网站制作教程九江专业制作网站小程序
  • 济宁网站建设专家百度流量统计
  • 包头外贸网站建设t型布局网站的优缺点
  • 江苏省建设工程网站营销型网站能解决什么问题
  • 海南做公司网站蒙古文网站建设汇报
  • 门户网站建设创新软文营销平台
  • 做视频网站视频加载过慢wordpress登陆404
  • 网站开发工具 枫子科技wordpress标签栏
  • 基于wed的网站开发自己做网站什么网站比较好
  • 青海省建设网站企业导视设计师
  • 粮食网站建设的背景及意义wordpress 熊掌号api
  • 大淘客怎样做网站成都设计院排行
  • 杭州蒙特网站建设今天的新闻联播直播
  • 最早做美食团购的网站网页设计如何制作背景
  • 做经营网站怎么赚钱滨海新区做网站电话
  • c 语言可以做网站吗it学校培训机构
  • 长春网站建设有什么办公室装修计入什么会计科目
  • 石家庄住房建设局网站用织梦建手机网站
  • 企业门户网站开发如何做切片网站
  • php mysql网站开发全程实例.pdf公司如何申请一个网站
  • 品牌logo霞浦县网站seo优化排名
  • 邢台网站建设公司排名wordpress 调用所有
  • 在线制作网页网站有哪些微信开发公司