vue中父子组件传值,解决钩子函数mounted只运行一次的操作


Posted in Javascript onJuly 27, 2020

因为mounted函数只会在html和模板渲染之后会加载一次,但是在子组件中只有第一次的数据显示是正常的,所以需要再增加一个updated函数,在更新之后就可以重新进行取值加载,完成数据的正常显示。

beforCreate(创建之前)

Created(创建之后)

beforMount(载入之前)

Mounted(载入之后)

beforUpdate(更新之前)

Updated(更新之后)

beforDestroy(销毁之前)

Destroyed(销毁之后)

activate(keep-alive组件激活时调用)

deactivated(keep-alive组件停用时调用)

errorCaptured(这个组件的作用是接受子孙组件报错是调用,三个参数 错误对象、错误的组件、错误信息)

父组件向

子组件传值

通过父组件传值调用子组件显示不同的数据

父组件 :conponent.vue

子组件:iconponent.vue

父组件

<template>
 <div>
   <span>父组件</span>
   <icomponent-box :id="this.id"></icomponent-box>
 </div>
</template>
<script>
//导入子组件
import icomponent from './icomponent.vue';
export default {
 data () {
  return {
   id:12
  }
 },
 components:{ //用来注册子组件的节点
   "icomponent-box": icomponent
 }
}
</script>
<style>
</style>

子组件

<template>
 <div>子组件</div>
</template>
<script>
export default {
 updated:{
   this.getComponents();
 },
 mounted:{
  this.getComponents();
 },
 data () {
  return {
  }
 },
 methods:{
  getComponents(){
    this.$http.get("api/getcomponents/" + this.id);
  }
 },
 
 props: ["id"] //接收父组件传递过来的id值
}

</script>

补充知识:Vue父子组件传值,子组件数据只更新一次,之后更改父组件的数据,子组件不再更新

我就废话不多说了,大家还是直接看代码吧~

props:{
  reportInfo:{
    type:Object,
    default:()=>{}
  }
},
data:function(){
	return {
		cityName :' ',
		reportId :' ' ,
	}
}
mounted:function () {
	 var _this = this;
	 
   //初始化获得数据,之后在watch中监听更新
   _this.cityName = _this.reportInfo.cityName;
   _this.reportId = _this.reportInfo.reportId;   
},
watch:{
	reportInfo(newValue, oldValue) {
		var _this = this;
    _this.cityName = newValue.cityName;
    _this.reportId = newValue.reportId;
	}
}

以上这篇vue中父子组件传值,解决钩子函数mounted只运行一次的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 选择器 xpath 语法应用
May 13 Javascript
IE之动态添加DOM节点触发window.resize事件
Jul 27 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
Dec 10 Javascript
js数组方法扩展实现数组统计函数
Apr 09 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
前端 Vue.js 和 MVVM 详细介绍
Dec 29 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
Mar 29 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
JavaScript实现筛选数组
Mar 02 Javascript
vue实现列表垂直无缝滚动
Apr 08 Vue.js
输入框跟随文字内容适配宽实现示例
Aug 14 Javascript
Element Alert警告的具体使用方法
Jul 27 #Javascript
Element Badge标记的使用方法
Jul 27 #Javascript
谈一谈vue请求数据放在created好还是mounted里好
Jul 27 #Javascript
JS倒计时两种实现方式代码实例
Jul 27 #Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 #Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 #Javascript
Element Breadcrumb 面包屑的使用方法
Jul 26 #Javascript
You might like
php $_SERVER当前完整url的写法
2009/11/12 PHP
php时区转换转换函数
2014/01/07 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
pycharm 使用心得(三)Hello world!
2014/06/05 Python
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
Python学习入门之区块链详解
2017/07/25 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
python的scipy实现插值的示例代码
2019/11/12 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
房地产还款计划书
2014/01/10 职场文书
体育教师自我鉴定
2014/02/12 职场文书
《童趣》教学反思
2014/02/19 职场文书
产品开发计划书
2014/04/27 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
企业党员一句话承诺
2014/05/30 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
检讨书范文
2019/04/16 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL