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

重庆优化网站排名微信小程序怎么做问卷

重庆优化网站排名,微信小程序怎么做问卷,作业网站建设方案,seo系统推广14天阅读挑战赛 学不可以已... 目录 一、Vuex简介 1.1 vuex介绍 1.2 vuex核心 二、Vuex使用 2.1 Vuex安装 2.2 创建store模块 2.3 创建vuex的store实例并注册上面引入的各大模块 三、使用Vuex获取、修改值案例 3.1 创建两个菜单组件 3.2 配置路由 3.3 模拟菜单数据 …14天阅读挑战赛 学不可以已... 目录 一、Vuex简介 1.1 vuex介绍 1.2 vuex核心 二、Vuex使用 2.1 Vuex安装 2.2 创建store模块 2.3 创建vuex的store实例并注册上面引入的各大模块 三、使用Vuex获取、修改值案例 3.1 创建两个菜单组件 3.2 配置路由 3.3 模拟菜单数据 3.4 vuex核心操作 3.5 界面获取、修改值实现 四、异步处理 4.1 异步改变值 4.2 异步发送Ajax到后端 Tips❕ 一、Vuex简介 1.1 vuex介绍 Vuex是专门为vue应用程序开发的状态管理模式将组件的共享状态抽取出来以一个全局单例模式进行管理组件树构成一个巨大的视图不管组件在树的何种位置任何组件都能获取到状态和触发行为。可以将其想象为一个“前端数据库”数据仓库让其在各个页面上实现数据的共享包括状态并且可操作。核心就是 解决组件间的通讯问题 1.2 vuex核心 State单一状态树存储应用程序的状态数据类似于组件中的data属性。但与组件的data不同Vuex的状态是响应式的当状态发生变化时所有依赖该状态的组件都会自动更新。 Getters状态获取用于从状态中派生出新的数据类似于Vue组件中的计算属性。Getters可以对状态进行一些计算或过滤并将结果暴露给组件使用。 Mutations变更用于修改状态的唯一途径。Mutations是同步的操作用于处理同步的状态变更。每个Mutation都有一个字符串类型的事件名称和一个回调函数通过提交commitMutation来触发状态的变更。 Actions动作提交mutation可以包含异步操作用于处理异步操作和复杂的业务逻辑。Actions可以包含任意异步操作例如发送网络请求或执行定时任务并通过提交Mutations来修改状态。Actions可以通过分发dispatch来触发。 Modules模块用于将大型的Vuex应用程序拆分为更小的模块每个模块都有自己的状态、获取器、变更和动作。这样可以更好地组织代码提高代码的可维护性和可扩展性。 使用Vuex可以带来以下好处 集中式的状态管理将应用程序的状态集中管理使得状态的变更更加可追踪和可维护。 组件之间的数据共享不同组件之间可以轻松地共享状态避免了通过props和事件传递数据的繁琐过程。 状态的可预测性通过明确的状态变更方式Mutations和Actions可以更好地追踪状态的变化提高代码的可读性和可维护性。 插件扩展Vuex提供了丰富的插件机制可以方便地扩展Vuex的功能例如添加日志记录、持久化存储等。 二、Vuex使用 2.1 Vuex安装 注意 运行环境 1、node.js版本10输入下指令进行安装 npm install vuex -S 2、node.js版本18请执行下指令  npm i -S vuex3.6.2 2.2 创建store模块 创建store目录及需要的文件 2.3 创建vuex的store实例并注册上面引入的各大模块 1、src/store/index.js import Vue from vue import Vuex from vuex import state from ./state import getters from ./getters import actions from ./actions import mutations from ./mutations Vue.use(Vuex) const store new Vuex.Store({state,getters,actions,mutations })export default store2、src/main.js 通过在根实例中注册store选项该store实例会注入到根组件下的所有子组件中且子组件可以通过this.$store访问到。 三、使用Vuex获取、修改值案例 3.1 创建两个菜单组件 src/views/vuex 3.2 配置路由 src/router/index.js 3.3 模拟菜单数据 !-- 模拟数据 --el-submenu keykey_999 indexindex_999template slottitlespan slottitleVuex管理/span/templateel-menu-item keykey_99901 index/vuex/pageOnespanpageOne/span/el-menu-itemel-menu-item keykey_99902 index/vuex/pageTwospanpageTwo/span/el-menu-item/el-submenu 3.4 vuex核心操作 1、在state.js中定义全局参数 export default {Name: 云村小威 }2、在mutations.js中改变值 export default {/* 1.state指state.js文件导入的对象2.payload指vue文件传递过来的界面*/setName: (state, payload) {state.Name payload.Name} }3、在getters.js中获取参数值 export default {getName: (state) {return state.Name;} }这一些列操作相当于java分装实体类把它一一才拆分这样可以更好地组织代码提高代码的可维护性和可扩展性。 3.5 界面获取、修改值实现 1、pageOne.vue组件编写 templatedivh1PageOne/h1p请输入您要修改的值/pinput typetext v-modelmsgbutton clickchanged修改参数值/buttonbutton clickgetData获取参数值/button/div /templatescriptexport default {data() {return {msg: 默认值}},methods:{changed(){this.$store.commit(setName,{Name:this.msg})},getData(){let name this.$store.getters.getName;alert(name);}}} /scriptstyle /style注意 setName是mutations.js导出的属性名getName是getters.js导出的属性名 效果展示 2、pageTwo.vue组件编写 templatedivh1PageTwo/h1{{change}}/div /templatescriptexport default {data() {return {msg: 默认值}},computed:{change(){return this.$store.getters.getName;}}} /scriptstyle /style效果展示 四、异步处理 4.1 异步改变值 1、src/store/actions.js export default {setNameSync: (context, payload) {//context指的是vuex的上下文setTimeout(function() {context.commit(setName, payload)}, 3500)} };2、在pageOne.vue组件添加异步事件 button clickAsynchronization异步改变参数值/buttonAsynchronization() {this.$store.dispatch(setNameSync, {name: this.msg})} 效果演示 4.2 异步发送Ajax到后端 1、后端请求代码编写 package com.ycxw.ssm.controller;import com.zking.ssm.util.JsonResponseBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date;RestController RequestMapping(/vuex) public class VuexController {RequestMapping(/queryVuex)public JsonResponseBody? queryVuex(HttpServletRequest request) {String resturantName request.getParameter(resturantName);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String date sdf.format(new Date());try {System.out.println(模拟异步情况睡眠6秒不能超过10秒axios超时时间设置的是10秒);Thread.sleep(6000);System.out.println(睡醒了继续...);} catch (Exception e) {e.printStackTrace();}return new JsonResponseBody(resturantName - date,true,0,null);} }2、src/api/action.js 封装请求的地址 VUEX: /vuex/queryVuex 3、src/store/actions.js 异步发送ajax到后端 setNameAjax: (context, payload) {let _this payload._this;let url _this.axios.urls.VUEX;let params {resturantName: payload.Name};_this.axios.post(url, params).then(r {console.log(r)}).catch(r {//异常代码console.log(r);});} 4、在pageOne.vue组件添加Ajax异步事件 button clickAjax异步Ajax改变参数值/buttonAjax() {this.$store.dispatch(setNameAjax, {Name: this.msg,_this: this})} 十秒异步处理演示 Tips❕ Action类似于 mutation不同在于 1. Action提交的是mutation而不是直接变更状态 2. Action可以包含任意异步操作 3. Action的回调函数接收一个 context 上下文参数注意这个参数可不一般它与 store 实例有着相同的方法和属性 注1 VUEX 的 actions 中无法获取到 this 对象 如果要在actions 或者 mutations 中使用this对象可以在调用的时候把this对象传过去。
http://www.dnsts.com.cn/news/115857.html

相关文章:

  • 培训网站大数据分析个人网站的色彩设计怎么做
  • 网站加网页question2answer wordpress 整合
  • 网站推广运作怎么做如何高效的完成网站建设步骤
  • 深圳做网站的网网站开发文档范例
  • asp.net实用网站开发doc做门户网站的好处
  • 门户网站建设调查问卷视频转wordpress
  • 时间轴网页网站模板唐山网站建设费用
  • 创建了网站seo的基本内容
  • 我想建网站网站建设林晓东
  • 关于做电影的网站设计河南安阳县
  • 天津高端网站建设制作专业的微网站哪家好
  • 英雄联盟网站模版爱吧
  • 班组建设管理网站临沂seo排名外包
  • 设计交流的网站龙岗做棋牌网站建设
  • 网页设计属于什么行业类别seo关键词seo排名公司
  • 网站的百度推广怎么做wordpress支付宝支付宝
  • 河南网站推广优化一个公司可以有两个网站吗
  • 网站推广代理一套公司vi设计多少钱一
  • 中国建设网站用户名做一家视频网站吗
  • linux下网站搭建网站弹广告是什么样做的
  • 溧水114网站开发小本本教你做网站
  • 网站怎么做网站收录中国工业机械加工网
  • 新加坡的网站域名吴中区建设局招标网站
  • 拖拽式建站平台手机版网页游戏在线玩
  • 如何提高网站打开速度模板建站和开发网站区别
  • 网站开发实现顺序淘宝详情页做的比较好的网站
  • 桓台县建设局网站网络营销导向企业网站建设的一般原则是什么?
  • 网站后台管理的超级链接怎么做四川网站seo
  • 老河口网站邢台视频优化
  • 医院网站建设情况说明前端网站开发教程