浅谈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+css+html实现页面遮罩弹出框
Mar 21 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
Jan 14 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
Jun 26 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
Mar 30 Javascript
基于javascript编写简单日历
May 02 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
JQuery实现DIV其他动画效果的简单实例
Sep 18 Javascript
JavaScript cookie详解及简单实例应用
Dec 31 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
浅谈Fetch 数据交互方式
Dec 20 Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 Javascript
JavaScript实现页面动态验证码的实现示例
Mar 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
php中session使用示例
2014/03/29 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
python 网络爬虫初级实现代码
2016/02/27 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
Unix如何添加新的用户
2014/08/20 面试题
大学生优秀团员事迹材料
2014/01/30 职场文书
校园广播稿500字
2014/02/04 职场文书
小班重阳节活动方案
2014/02/08 职场文书
2014年国培研修感言
2014/03/09 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书