浅谈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 相关文章推荐
JS 常用校验函数
Mar 26 Javascript
16个最流行的JavaScript框架[推荐]
May 29 Javascript
两种方法实现文本框输入内容提示消失
Mar 17 Javascript
再谈JavaScript线程
Jul 10 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
angularjs学习笔记之双向数据绑定
Sep 26 Javascript
一次$.getJSON不执行的简单记录
Jul 19 Javascript
jquery的checkbox,radio,select等方法小结
Aug 30 Javascript
详解JavaScript常量定义
Jan 03 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
Promise扫盲贴
Jun 24 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 06 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 array_merge下进行数组合并的代码
2008/07/22 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
JavaScript私有变量实例详解
2019/01/24 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
用Python实现换行符转换的脚本的教程
2015/04/16 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
python 字符串格式化的示例
2020/09/21 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
行政助理求职自荐信
2013/10/26 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
公证书样本
2014/04/10 职场文书
贷款委托书
2014/08/01 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
法人代表证明书
2014/09/18 职场文书
综合测评自我评价
2015/03/06 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
Golang二维切片初始化的实现
2021/04/08 Golang
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL