浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法


Posted in Javascript onJuly 24, 2020

1、在Vue项目中引用公共方法

作为一个新人小白,在使用vue的过程中,难免会遇到很多的问题,比如某个方法在很多组件中都能用的上,如果在每个组件上都去引用一次的话,会比较麻烦,增加代码量。怎么做比较好呢,话不多说直接看代码把

首先 要在main.js中引入公共js。然后,将方法赋在Vue的原型链上。

像图中这样。

浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法

然后在需要的组件上去引入这个方法

mouted (){
//调用方法
this.common.login();
}

/**然后公共方法里写一段简单的代码*/
export default{
login:function(){
console.log('这是一段代码')
}
}

2、Vuex中的this.$store.commit

众所周知,在vue的项目里父子组件间可以用props 或者 $emit 等方式 进行数据传递,而如果项目稍微大一点的话有很多平行组件,这个时候在这些组件间传递数据,使用这些方法会比较麻烦,代码也会变得不利于服用。

我们可以vuex来解决这个问题

vuex其实官网上不是太好理解,可以直接看看代码怎么实现的。

首先还是要先安装vuex

可以创建一个单独的store文件目录,里面专门存放相关的文件

然后新建index.js文件。

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
 state: {
 // 初始化全局的一个变量
 testTxt: {"tips":"这是一条vuex的数据","id":1}
 }
})
export default store

然后在main.js/main.ts 中注册store

import Vue from 'vue'
import App from './App'
import router from './router'
import store from './../store/index'

/* eslint-disable no-new */
new Vue({
 el: '#app',
 router,
 store,
 template: '<App/>',
 components: { App }
})

接下来在组件中使用

export default {
 ...
 data(){
 value : "这又是修改后的value",
 },
 computed: {
 getTxt() {
  return this.$store.state.testTxt.tips;
 }
 },
 methods: {
 modifyTxt: function() {
  this.$store.commit('modifyTips', this.value)
 }
 }
 ...
}

然后在index.js文件里可以修改

const store = new Vuex.Store({
 state: {
   // 初始化全局的一个变量
   testTxt: {"tips":"这是一条vuex的数据","id":1}
 },
  mutations: {
  modifyTips(state,msg) {
   state.testTxt.tips= msg;
  }
 }
})
export default store

当然了,vuex的版本肯定是越新越好~

以上这篇浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于Jquery的标签智能验证实现代码
Dec 27 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
Jan 03 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
jQuery中:selected选择器用法实例
Jan 04 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
WebPack基础知识详解
Jan 16 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
移动端触摸滑动插件swiper使用方法详解
Aug 11 Javascript
浅谈关于angularJs中使用$.ajax的注意点
Aug 12 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
vue组件中传值EventBus的使用及注意事项说明
Nov 16 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
Jul 24 #Javascript
javascript实现支付宝滑块验证码效果
Jul 24 #Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
Jul 24 #Javascript
如何通过vscode运行调试javascript代码
Jul 24 #Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 #Javascript
js实现验证码功能
Jul 24 #Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
Jul 24 #Javascript
You might like
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
2015/04/13 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
vuex实现简易计数器
2016/10/27 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
python 实现矩阵填充0的例子
2019/11/29 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
详解Django中异步任务之django-celery
2020/11/05 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
公司司机岗位职责范本
2014/03/03 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
接待员岗位职责范本
2015/04/15 职场文书
讲座新闻稿
2015/07/18 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书