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 相关文章推荐
IE与FireFox的兼容性问题分析
Apr 22 Javascript
某页码显示的helper 少量调整,另附js版
Sep 12 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
Jul 04 Javascript
11种ASP连接数据库的方法
Sep 18 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
利用yarn实现一个webpack+react种子
Oct 25 Javascript
微信小程序 input输入框详解及简单实例
Jan 10 Javascript
node.js 抓取代理ip实例代码
Apr 30 Javascript
js CSS3实现卡牌旋转切换效果
Jul 04 Javascript
微信小程序自定义音乐进度条的实例代码
Aug 28 Javascript
在Vue 中获取下拉框的文本及选项值操作
Aug 13 Javascript
Vue+Openlayers自定义轨迹动画
Sep 24 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实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
php数据访问之查询关键字
2016/05/09 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
2017/08/07 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
微信小程序中显示倒计时代码实例
2019/05/09 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python实现的简单猜数字游戏
2015/04/04 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Python ini文件常用操作方法解析
2020/04/26 Python
python对execl 处理操作代码
2020/06/22 Python
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
行政监察建议书
2014/05/19 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
民事辩护词范文
2015/05/21 职场文书
护士旷工检讨书
2015/08/15 职场文书