浅谈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 打造动态渐变按钮 详细图文教程
Apr 25 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
Jan 24 Javascript
JS Array.slice 截取数组的实现方法
Jan 02 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
May 10 Javascript
JavaScript必知必会(九)function 说起 闭包问题
Jun 08 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
Jul 28 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
原生js开发的日历插件
Feb 04 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
详解ES6系列之私有变量的实现
Nov 21 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
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
DHTML Slide Show script图片轮换
2008/03/03 Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
javascript css float属性的特殊写法
2008/11/13 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
Jquery 扩展方法
2010/05/06 Javascript
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
python实现哈希表
2014/02/07 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
python的socket编程入门
2018/01/29 Python
Puppeteer使用示例详解
2019/06/20 Python
python将字符串转换成json的方法小结
2019/07/09 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
销售副总经理岗位职责
2013/12/11 职场文书
高一生物教学反思
2014/01/17 职场文书
离婚财产处理协议书
2014/09/30 职场文书
回复函范文
2015/07/14 职场文书
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫