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 相关文章推荐
jQuery 1.8 Release版本发布了
Aug 14 Javascript
用javascript对一个json数组深度赋值示例
Jul 27 Javascript
用svg制作富有动态的tooltip
Jul 17 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
Jul 05 Javascript
原生JS实现图片左右轮播
Dec 30 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 jQuery
AngularJS 教程及实例代码
Oct 23 Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 Javascript
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
浅谈vue权限管理实现及流程
Apr 23 Javascript
js实现微信聊天界面
Aug 09 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
简单理解Python中的装饰器
2015/07/31 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
python基础教程之Filter使用方法
2017/01/17 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
python列表推导式操作解析
2019/11/26 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
python 基于opencv操作摄像头
2020/12/24 Python
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
2013届毕业生求职信范文
2013/11/20 职场文书
小学信息技术教学反思
2014/02/10 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
防沙治沙典型材料
2014/05/07 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python