浅谈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 相关文章推荐
学习ExtJS Window常用方法
Oct 07 Javascript
Jquery实现简单的动画效果代码
Mar 18 Javascript
单击复制文字兼容各浏览器的完美解决方案
Jul 04 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
Feb 21 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
Mar 26 Javascript
js实现仿qq消息的弹出窗效果
Jan 06 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 Javascript
javascript基础知识
Jun 07 Javascript
JS实现touch 点击滑动轮播实例代码
Jan 19 Javascript
Vue数据双向绑定的深入探究
Nov 27 Javascript
jQuery实现的别踩白块小游戏完整示例
Jan 07 jQuery
vue实现密码显示与隐藏按钮的自定义组件功能
Apr 23 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
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python元组操作实例解析
2014/09/23 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
对Python中range()函数和list的比较
2018/04/19 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
Gap工厂店:Gap Factory
2017/11/02 全球购物
如何利用find命令查找文件
2015/02/07 面试题
学校卫生检查制度
2014/02/03 职场文书
代理班主任的自我评价
2014/02/04 职场文书
数学国培研修感言
2014/02/13 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
财务管理专业自荐书
2014/09/02 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书