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

网站关键词几个最好wordpress 页面平铺

网站关键词几个最好,wordpress 页面平铺,frontpage制作网页的软件,wordpress主题idownVuex 的配置编写 目录 Vuex 的配置编写Vuex 是什么#xff1f;什么是“状态管理模式”#xff1f;什么情况下我应该使用 Vuex#xff1f;安装 Vuex开始使用 VuexAction 文件Mutations-types 文件Mutation 文件Index Vuex 是什么#xff1f; 这里我们来看看官方网站是如何介…Vuex 的配置编写 目录 Vuex 的配置编写Vuex 是什么什么是“状态管理模式”什么情况下我应该使用 Vuex安装 Vuex开始使用 VuexAction 文件Mutations-types 文件Mutation 文件Index Vuex 是什么 这里我们来看看官方网站是如何介绍 Vuex 的 提示 这是与 Vue 3 匹配的 Vuex 4 的文档。如果您在找与 Vue 2 匹配的 Vuex 3 的文档请在这里查看。 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态并以相应的规则保证状态以一种可预测的方式发生变化。 什么是“状态管理模式” 让我们从一个简单的 Vue 计数应用开始 const Counter {// 状态data () {return {count: 0}},// 视图template: div{{ count }}/div,// 操作methods: {increment () {this.count}} }createApp(Counter).mount(#app)这个状态自管理应用包含以下几个部分 状态驱动应用的数据源视图以声明方式将状态映射到视图操作响应在视图上的用户输入导致的状态变化。 以下是一个表示“单向数据流”理念的简单示意 但是当我们的应用遇到多个组件共享状态时单向数据流的简洁性很容易被破坏 多个视图依赖于同一状态。来自不同视图的行为需要变更同一状态。 对于问题一传参的方法对于多层嵌套的组件将会非常繁琐并且对于兄弟组件间的状态传递无能为力。对于问题二我们经常会采用父子组件直接引用或者通过事件来变更和同步状态的多份拷贝。以上的这些模式非常脆弱通常会导致无法维护的代码。 因此我们为什么不把组件的共享状态抽取出来以一个全局单例模式管理呢在这种模式下我们的组件树构成了一个巨大的“视图”不管在树的哪个位置任何组件都能获取状态或者触发行为 通过定义和隔离状态管理中的各种概念并通过强制规则维持视图和状态间的独立性我们的代码将会变得更结构化且易维护。 这就是 Vuex 背后的基本思想借鉴了 Flux、Redux 和 The Elm Architecture。与其他模式不同的是Vuex 是专门为 Vue.js 设计的状态管理库以利用 Vue.js 的细粒度数据响应机制来进行高效的状态更新。 如果你想交互式地学习 Vuex可以看这个 Scrimba 上的 Vuex 课程它将录屏和代码试验场混合在了一起你可以随时暂停并尝试。 什么情况下我应该使用 Vuex Vuex 可以帮助我们管理共享状态并附带了更多的概念和框架。这需要对短期和长期效益进行权衡。 如果您不打算开发大型单页应用使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单您最好不要使用 Vuex。一个简单的 store 模式就足够您所需了。但是如果您需要构建一个中大型单页应用您很可能会考虑如何更好地在组件外部管理状态Vuex 将会成为自然而然的选择。引用 Redux 的作者 Dan Abramov 的话说就是 Flux 架构就像眼镜您自会知道什么时候需要它。 安装 Vuex 我们可以使用下面的方式来安装 Vuex 使用 npm 包管理器安装 npm install vuexnext --save使用 Yarn 包管理器安装 yarn add vuexnext --save在这里我们选择 npm 安装 开始使用 Vuex 安装完成之后就可以开始使用 vuex 了。我们先在 /src 中创建 /store 文件夹并创建 js 文件 action.js , index.js , mutations-types.js , mutations.js。如下图所示 新建目录结构如上图。从文件名可以看出其对应的作用下面我们来编写对应的代码。 Action 文件 即图中的 action.js 文件。里面存放着各个 action每个 action 都对应一个 mutation下面是 action.js 文件的完整代码 export default {// 展示下拉框showDropList({ commit }, data) {commit(SHOW_DROP_LIST, data);},// 更新编辑区内容updateContent({ commit }, data) {commit(UPDATE_CONTENT, data);},// 更新选择的值updateSelectValue({ commit }, data) {commit(UPDATE_SELECTED_VALUE, data);},// 更新菜单状态updateMenuStatus({ commit }, data) {commit(UPDATE_MENU_STATUS, data);},// 执行命令execCommand({ commit }, data) {commit(EXEC_COMMAND, data);},// 获取节点位置getNodePosition({ commit }, data) {commit(NODE_POSITION, data);},// 切换视图changeView({ commit }, data) {commit(CHANGE_VIEW, data);}, };Mutations-types 文件 为了让整个项目的 mutation 可以很方便的查看和管理我们将全部的 Mutation 事件类型的名字使用常量来代替并将它们单独存放在一个文件中对外提供导出接口。 mutations-types.js 代码内容如下 export const SHOW_DROP_LIST SHOW_DROP_LIST; export const UPDATE_CONTENT UPDATE_CONTENT; export const UPDATE_SELECTED_VALUE UPDATE_SELECTED_VALUE; export const UPDATE_MENU_STATUS UPDATE_MENU_STATUS; export const EXEC_COMMAND EXEC_COMMAND; export const CHANGE_VIEW CHANGE_VIEW; export const NODE_POSITION NODE_POSITION;在 action 中提交的 mutation 的名字和这里的名字是保持一致的。 Mutation 文件 在这个文件中定义了很多 mutation 用于改变 store 中的数据。在 action 中提交的 mutation 都将在这里真正生效。 首先我们需要从mutations-types 中导入 mutation 的事件名称。这里使用对象结构的方式操作 mutations.js 代码内容如下 // 导入事件类型 import {// 下拉框事件类型SHOW_DROP_LIST,// 更新编辑区内容事件类型UPDATE_CONTENT,// 更新选择的值事件类型UPDATE_SELECTED_VALUE,// 更新菜单状态事件类型UPDATE_MENU_STATUS,// 执行命令事件类型EXEC_COMMAND,// 获取节点位置事件类型NODE_POSITION,// 切换视图事件类型CHANGE_VIEW, } from ./mutations-types;// 定义处理各个事件类型的回调函数 export default {[SHOW_DROP_LIST]({ menuBar }, data) {// 下拉框事件类型对回调函数for (let menu in menuBar) {if (menuBar[menu].showDropList ! undefined) {if (data data.name menu) {menuBar[menu].showDropList data.display;} else {menuBar[menu].showDropList false;}}}},[UPDATE_CONTENT](state, data) {// 更新编辑区内容事件类型state.content data;},[UPDATE_MENU_STATUS]({ menuBar }, data) {// 更新菜单状态事件类型if (all in data) {for (let menu in menuBar) {menuBar[menu].status data.all;}return;}for (let name in data) {if (menuBar[name].showStatus) {menuBar[name].status data[name];} else {menuBar[name].status default;}}},[UPDATE_SELECTED_VALUE]({ menuBar }, data) {// 更新选择的值事件类型menuBar[data.name].value data.value;},[EXEC_COMMAND](state, data) {// 执行命令事件类型state.command data;},[CHANGE_VIEW](state, data) {// 切换视图事件类型state.sourceView data;},[NODE_POSITION](state, data) {// 获取节点位置事件类型state.position {top: data.top,right: data.right,bottom: data.bottom document.body.scrollTop,left: data.left,};}, };Index 这个文件是保存数据的地方状态数据的改变最终都会作用到里面的数据。 store 对象的实例也由这个文件导出。 index.js 的代码内容如下 import { createStore } from vuex; // 导入一些依赖模块 import mutations from ./mutations; import action from ./action; import Menu from /config/menu; import Config from /config/index;let menuBar {}; // 菜单栏对象 let menu Menu.getMenu(); // 获取全部菜单项配置信息 let config Config.getConfig(); // 获取全部配置项 let viewMenu config.viewMenu; // 获取可见的菜单项viewMenu.forEach(function (name) {menuBar[name] {};// 是否有下拉框if (menu[name].dropList) {menuBar[name].value ;menuBar[name].showDropList false;} else {// 是否展示状态if (menu[name].showStatus) {menuBar[name].showStatus true;}menuBar[name].status default;} });export default createStore({state: {// 编辑区域内容content: config.container.content,// 菜单栏对象包含菜单项状态数据menuBar,// 是否源码视图sourceView: false,//执行的命令command: {name: ,value: ,},//存放位置信息position: {top: 0,right: 0,bottom: 0,left: 0,},},getters: {},mutations: mutations,actions: action,modules: {}, });以上所有操作完成之后我们的 vuex 就配置完成了。不过目前还不能在组件中使用因为还没将它注入到组件中去。在组件中使用 vuex 的方式有两种一种是在每个单独的组件中都实例化一个 store 对象然后对 store 实例对象进行操作。另外一种方式是通过在根组件处注入 store 实例其他所有子组件可通过 this.$store 来访问到 store 实例对象并进行操作。推荐使用第二种方式更加简单方便。 我们修改一下入口文件 src/main.js注册 Vuex 实列 srore 对象 import { createApp } from vue import App from ./App.vue import store from ./store;createApp(App).use(store).mount(#app)ok这样我们的项目就引入了 Vuex 了。
http://www.zqtcl.cn/news/359189/

相关文章:

  • 网站dns修改中国楼市未来发展趋势
  • 网站超级链接怎么做帮别人发广告赚钱平台
  • 做网站可以赚钱么注册做网站的公司
  • 河南省建协网官方网站建网站卖阀门
  • 医院网站怎么制作重庆安全监督工程信息网
  • 饰品网站建设规划书搭建微信网站
  • 开发网站访问流量赚钱加盟网站需要怎么做
  • 装饰协会网站源码湖南省郴州市北湖区
  • 花都网站建设价格重庆市住房和城乡建设厅网站
  • 北京住总第一开发建设有限公司网站wordpress 网站访问认证页面
  • 网站制作的管理苏州百度推广服务中心
  • 厦门建行网站首页企业展厅建筑外观
  • 重庆定制型网站建设1000套网站源码
  • 阿里云网站建设服务费会计科目安平县建设局网站
  • 网上做国外兼职网站网络编程技术实验报告
  • iis网站服务器安全隐患分析创新的合肥网站建设
  • 蛋糕网站建设方案广州网站公司推荐
  • 无锡seo公司网站广渠门做网站的公司
  • 安徽股票配资网站建设seo教程自学网
  • 网站建设酷隆做3d建模贴图找哪个网站
  • 天津市工程建设交易管理中心网站自己如何搭建服务器
  • 汉语网站建设心得专业网站的定义
  • 泉州台商区建设局网站论坛内网站怎么建设
  • 做文字云的网站平面设计发展前景
  • 域名注册后怎么建网站万网建站教程
  • 郑州网站建设幸巴石家庄站规模
  • 江华网站建设企业传统的网络营销推广方法
  • 网站开发与推广新网站开发工作总结
  • 永修县建设局网站长沙网站关键词优化
  • 厦门建站服务低代码开发会废了程序员吗