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

php 商务网站开发实战wordpress视频列表

php 商务网站开发实战,wordpress视频列表,网站建设计划表模板下载,听完米课做的网站Vuex 各子模块的内部结构及作用 这是vuex的内部代码结构,所有的子模块都是一样的 state:存放数据状态; action:指派 mutation ; mutation:修改state里面的状态; getter:侧重于对数据…

Vuex

各子模块的内部结构及作用

这是vuex的内部代码结构,所有的子模块都是一样的
state:存放数据状态;
action:指派 mutation ;
mutation:修改state里面的状态;
getter:侧重于对数据的再次加工;
mdules:用于模块化;Store: 仓库,是使用Vuex应用程序的核心,每一个应用仅有一个 Store。Store 是一个容器,包含应用中的大部分状态,不能直接改变 Store 中的状态,要通过提交 Mutation 的方式
State: 状态保存至 Store 中,因为 Store 是唯一的,因此状态也是唯一的,称为单一状态树。但是如果所有的状态都保存在 State 中,程序则难以维护,可以通过后续的模块来解决该问题。注意,这里的状态时响应式的
Getter: 像是 Vue 中的计算属性,对 state 中的数据进行加工,方便从一个属性派生出其他的值。它内部可以对计算的结果进行缓存,只有当依赖的状态发生改变时才会重新计算
Mutation: 状态的变化必须通过提交 Mutation 来完成 (同步)
Action: 和 Mutation 类似,不同的是 Action 可以进行异步操作,内部改变状态的时候都需要提交 Mutation
Module: 模块,由于使用单一状态树,应用的所有状态会集中到一个比较大的对象上来,当应用变得非常复杂时,Store对象就有可能变得非常臃肿。为了解决这个问题,Vuex允许我们将 Store 分割成模块每个模块拥有自己的 State 、Mutation、Action、Getter甚至是嵌套的子模块

一般使用时目录结果

src下新建store文件夹,文件夹下新建 index.js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({state: {},getters: {},mutations: {},actions: {},modules: {}
})
// 或者利用子模块
import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
Vue.use(Vuex)
const store = new Vuex.Store({modules: {user}
})
export default store

src下新建store文件夹,文件夹下新建 modules 文件夹,下面新建子模块user.js

const user = {strict: true, // 开启严格模式后直接在组件中修改state时会报错(但数据仍然改变成功),如果不开启就不会报错namespaced: true, // 开启命名空间,防止多个模块文件之间的命名冲突state: {},mutations: {},actions: {},getters: {}
}
export default user

main.js 中引入

import Vue from 'vue'
import App from './App.vue'
import store from './store'
new Vue({store,render: h => h(App)
}).$mount('#app')

使用

// 主模板中使用
this.$store.state.xxx
this.$store.getters.xxx
this.$store.dispatch('LogOut')
// 子模版中使用
this.$store.state.user.xxx
this.$store.getters.xxx
this.$store.dispatch('user/LogOut', size)

实例

<template><div class="contentViews" style="text-align: left;"><el-card class="box-card">姓名: {{ crjName }} - {{ $store.state.user.crjName }}<br />年龄: {{ $store.state.user.crjAge }} - {{ crjAge }}<br />vuex 计算属性:{{ currentCrjName }}<br />token: {{ token }} - {{ $store.state.user.token }}<br />{{ avatar }}<el-button type="primary" size="small" @click.native="getMapActions">改变姓名 mapActions</el-button><el-button type="primary" size="small" @click.native="getMapMutations">改变姓名 mapMutations</el-button><el-button type="primary" size="small" @click.native="tc">退出</el-button><el-button type="primary" size="small" @click.native="tc1">退出</el-button></el-card></div>
</template><script>
// 1.引入辅助函数
import { mapActions, mapGetters, mapMutations, mapState } from 'vuex';
export default {computed: {...mapState('user', ['crjName', 'crjAge']),...mapGetters('user', ['currentCrjName']),...mapState({name:'crjName', age: 'crjAge'})...mapState({avatar: a => a.user.avatar}), // 这里想要访问根模块里面的方法  需要这样写后面加上 {root:true}...mapGetters(['token']),...mapGetter({token: 'token'})...mapActions(['LogOut'])},methods: {// 2,使用...mapActions('user', ['setCrjName']),...mapMutations('user', ['commitCrjName']),// 这里想要访问根模块里面的方法  需要这样写后面加上 {root:true}...mapMutations({commitCrjName: 'commitCrjName'})getMapActions() {this.setCrjName('李四');},getMapMutations() {this.commitCrjName('马武');},tc() {this.LogOut.then(() => {location.href = '/';})},tc1() {this.$store.dispatch('FedLogOut').then(() => {location.href = '/';})},}
};
</script>

Vuex中actions的使用

actions属性是用来处理异步方法的,通过提交mutations实现。Action| Vuex API 参考 | Vuex

说明

Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数。

特点

1.异步操作,通过mutations来改变state。

2.不能直接改变state里的数据。

3.包含多个事件回调函数的对象。

4.执行方式:通过执行 commit()来触发 mutation 的调用, 间接更新 state

5.触发方式: 组件中: $store.dispatch(‘action 名称’, data1)

6.可以包含异步代码(例如:定时器, 请求后端接口)。

使用

// 直接使用
this.$store.dispatch('actions方法名', 具体值)        // 不分模块
this.$store.dispatch('模块名/actions方法名', 具体值) // 分模块
// mapActions
import { mapActions } from 'vuex'
export default {computed: {// 不分模块...mapActions(['actions方法名'])          // 分模块,不改方法名...mapActions('模块名', ['actions方法名'])// 分模块,不改方法名...mapActions('模块名',{'新actions方法名': '旧actions方法名'})}
}

实例

<script>
import { mapActions } from 'vuex'
export default {computed: {...mapActions(['LogOut'])},methods: {fedLogOut() {this.$store.dispatch('FedLogOut').then(() => {location.href = '/';})},logout() {this.LogOut.then(() => {location.href = '/';})}}
}
</script>
http://www.yayakq.cn/news/131503/

相关文章:

  • 联客易网站建设制作成都网站建设源码世纪
  • 域名网站备案杭州网络公司服务
  • 自我建设外贸网站网站面包屑如何做
  • 张家港网站建设培训山东烟台最新消息今天
  • 微信制作微网站开发稷山做网站
  • 手机投资理财网站建设玉田县建设工程招标网站
  • 江门网站制作流程松江醉白池网站建设
  • 长沙网站推广平台wordpress手机调度插件
  • 京山网站设计公司网站模板内容怎么添加图片不显示
  • 镇江企业网站制作特价网站建设价格低
  • 用 php网站建设打出一首古诗江阴早晨网站建设
  • 做图片网站侵权吗阿里云域名注册官网电话
  • win10虚拟机做网站免费做电子书的网站
  • 快3网站制作 优帮云市场监督管理局投诉电话
  • 谷歌广告推广网站wordpress主题限速
  • 做网站什么服务器好excel中批量做网站的超链接
  • 江阴网络公司做网站茂名公司网站开发公司
  • 天津建设科技杂志的官方网站网站备案需要哪些资料
  • 网站建设上传和下载wordpress修改文章链接插件
  • wordpress修改底部联系QQ优化大师最新版下载
  • 申请个人网站怎么申请丰宁县建设局网站
  • 烟台建设银行网站企业网络信息安全
  • 怎样查网站有没有备案成都网站建设与推广
  • html网站开发工具网站流量通道
  • 昆明网络科技公司有哪些亚马逊seo搜索什么意思
  • 义乌制作网站要多少钱中国物流企业网
  • 网站响应式和非响应式济宁做网站大约多少钱
  • 企业 备案 网站服务内容中职示范校建设专题网站
  • 更改host文件把淘宝指向自己做的钓鱼网站公司简介宣传册设计样本图片
  • 外贸公司网站源码永久免费视频会议服务器