浅谈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 JSON的解析方式分享
Apr 05 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
Feb 16 Javascript
jQuery mobile 移动web(6)
Dec 20 Javascript
浅谈javascript中的三种弹窗
Oct 21 Javascript
jQuery html表格排序插件tablesorter使用方法详解
Feb 10 Javascript
浅谈jquery拼接字符串效率比较高的方法
Feb 22 Javascript
微信小程序实现左右联动的实战记录
Jul 05 Javascript
javascript将非数值转换为数值
Sep 13 Javascript
javascript中join方法实例讲解
Feb 21 Javascript
Vue开发Html5微信公众号的步骤
Apr 11 Javascript
JS面向对象之单选框实现
Jan 17 Javascript
JS封装cavans多种滤镜组件
Feb 15 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
PHP编程与应用
2006/10/09 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
Angular CLI 安装和使用教程
2017/09/13 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
学习python 之编写简单乘法运算题
2016/02/27 Python
使用Python来开发微信功能
2018/06/13 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
python 贪心算法的实现
2020/09/18 Python
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
材料加工工程求职信
2014/02/19 职场文书
签约仪式主持词
2014/03/19 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
新生开学寄语大全
2015/05/28 职场文书