vue App.vue中的公共组件改变值触发其他组件或.vue页面监听


Posted in Javascript onMay 31, 2019

业务场景重现

现在我的App.vue里面有一个头部的公共组件,头部组件里有一个输入框,当我输入词条时,将词条传进App.vue里的<router-view>里的.vue页面,并进行查询获取数据

解决思路如下:

1.如何拿到头部的词条

2.当词条改变时如何触发.vue里的请求数据事件

解决方案

我是用vuex数据仓库来存储词条的,当词条改变时,修改数据仓库里的词条

然后在.vue页面里监听这个词条,当词条改变时触发请求数据的事件

代码

数据仓库store.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
 state: {
  searchKey: ''    //存库词条的变量
 },
 mutations: {         //修改数据仓库的事件
  changeSearchKey(state,value){
   state.searchKey = value
  }
 },
 actions: {         //推荐使用的异步修改数据仓库
  setSearchKey(context,value){  
   context.commit('changeSearchKey',value)
  }
 }
})

App.vue里的header组件

goSearch: function(){
      if(this.value){
        this.$store.dispatch('setSearchKey',this.value) //当输入词条时,将词条更新到数据仓库
      }
    },

vue页面里监听词条

computed: {           监听词条
    getSearchKey(){
      return this.$store.state.searchKey
    }
  },
  watch: {
    getSearchKey: {
      handler(newValue,oldValue){ //当词条改变时执行事件
        this.recordis(newValue)
        // console.log('new',newValue)
        // console.log('old',oldValue)
      }
    }

  },

总结

以上所述是小编给大家介绍的vue App.vue中的公共组件改变值触发其他组件或.vue页面监听,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JavaScript的setAttribute兼容性问题解决方法
Nov 11 Javascript
JavaScript按位运算符的应用简析
Feb 04 Javascript
原生的html元素选择器类似jquery选择器
Oct 15 Javascript
jQuery中prevUntil()方法用法实例
Jan 08 Javascript
Javascript中For In语句用法实例
May 14 Javascript
js格式化时间的方法
Dec 18 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
Oct 27 Javascript
如何实现json数据可视化详解
Nov 24 Javascript
jQuery基本筛选选择器实例代码
Feb 06 Javascript
vue2.0之多页面的开发的示例
Jan 30 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
Oct 08 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
May 31 #Javascript
Vue Router history模式的配置方法及其原理
May 30 #Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 #Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
May 30 #Javascript
了解JavaScript函数中的默认参数
May 30 #Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
May 30 #Javascript
轻松学习JavaScript函数中的 Rest 参数
May 30 #Javascript
You might like
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
python中PIL安装简单教程
2016/04/21 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
Python交互式图形编程的实现
2019/07/25 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
HEMA英国:荷兰原创设计
2018/08/28 全球购物
行政部工作岗位职责范本
2014/03/05 职场文书
社区矫正工作方案
2014/06/04 职场文书
导游词之太湖
2019/10/08 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers