vue父组件数据改变,子组件数据并未发生改变(那是因为你没写监听)附带子组件的写法




下面的代码有
父组件有三个按钮,年、月、日 点击之后父组件的数据发生改变,子组件却没改变,打印接受的数据,除了第一次其他都没打印,那是因为你没有写监听
<template>
<div class="left_two_middle">
<ul class="title margin-top">
<li>排名</li>
<li v-if="area">地区</li>
<li v-if="travel">出行方式</li>
<li>出游人数</li>
<li>占比</li>
</ul>
<el-scrollbar style="height:100%">
<ul class="title" v-for="(item,index) in items">
<li>{{index+1}}</li>
<li v-if="item.touristCity">{{item.touristCity}}</li>
<li v-if="item.travelName">{{item.travelName}}</li>
<li v-if="item.scenicName">{{item.scenicName}}</li>
<li v-if="item.touristProvince">{{item.touristProvince}}</li>
<li v-if="item.touristCountry">{{item.touristCountry}}</li>
<li>{{item.num}}</li>
<li>
<el-progress :percentage="Number((item.pro*100).toFixed(2))"
:color="index<6 ? 'rgb(254,203,24)':'rgb(0,181,255)'"></el-progress>
</li>
</ul>
</el-scrollbar>
</div>
</template> <script>
export default {
name: "myTable",
props:{
dataSource:{
type:Array
},
travel:{
type:Boolean,
default:false
},
area:{
type:Boolean,
default:true
}
},
data() {
return {
items: []
};
},
methods: {},
mounted() {
// console.log(this.dataSource,'父传过来的数据')
this.items=this.dataSource
},
watch: {
dataSource: {
immediate: true, // 这句重要
handler (val) {
this.items=val
}
}
} };
</script>
<style scoped lang="less">
.left_two_middle {
width: 100%;
height: 80%;
.title {
font-size: 12px;
line-height: 25px;
padding-right: 15px;
padding-left: 5px;
display: flex;
justify-content: space-between;
align-items: center;
li {
text-align: center;
list-style: none;
padding: 3px 0;
color: white;
}
li:first-child {
width: 10%;
}
li:nth-child(2) {
width: 30%;
}
li:nth-child(3) {
width: 25%;
}
li:last-child {
width: 35%;
}
}
}
</style>
<style>
.el-scrollbar__wrap{
overflow-x: hidden;
}
.el-progress {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
line-height: 1;
}
.el-progress-bar {
padding-right: 30px;
width: 85%;
}
.el-progress__text {
font-size: 12px !important;
color: #fff;
}
</style>
完整代码
父子组件传递数组,created中调接口获取数据,然后赋值,然后子组件收到的却是空数据why 因为你还没获取到数据,组件都渲染了,所以组件加个v-if='this.arr.length>0'就搞定;如下
父组件的写法:一定要v-if,不然子组件已经渲染了,却没有数据

vue父组件数据改变,子组件数据并未发生改变(那是因为你没写监听)附带子组件的写法的更多相关文章
- Vue框架(二)——Vue指令(v-once指令、v-cloak指令、条件指令、v-pre指令、循环指令)、todolist案例、Vue实例(计算、监听)、组件、组件数据交互
Vue指令 1.v-once指令 单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <!DOCTYPE html> <html lang=" ...
- angular 使用rxjs 监听同级兄弟组件数据变化
angular 的官网给出了父子组件之间数据交互的方法,如ViewChild.EventEmitter 但是如果要在同级组件之间进行数据同步,似乎并没有给出太多的信息. 有时候我们想,在一个组件中修改 ...
- vue watch 监听element upload组件上传成功返回的url列表
因为 on-success 上传成功返回的是一个异步的结果....如果父组件需要这个结果的话 必须用watch 监听 然后里面建立一个 save()方法 save方法里面再调用接口 传需要的上传之后的 ...
- vuetify.js框架 下拉框数据改变DOM原数据未清除
今天遇到一个奇怪的bug 需求很简单,就是将“引擎能力”下拉框选中的值作为筛选条件传入到“样本类型”下拉框中,默认“样本类型”下拉框显示所有样本类型 看图: 如图所示,功能很简单. 其实还是对vuet ...
- vue深度监控数据改变,缓存数据到本地
项目效果图: var vm = new Vue({ el:'#app', data:{ students:[], }, watch:{ students:{ handler(){ localStora ...
- java监听多个组件
import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.*; import javax.swing.*; pu ...
- Vue 父组件循环使用refs调用子组件方法出现undefined的问题
Vue 父组件循环使用refs调用子组件方法出现undefined的问题 1. 背景 最近前端项目遇到一个问题,我在父组件中使用了两个相同的子组件child,分别设置ref为add和update.其中 ...
- vue 监听父子组件传参,对象数据变化
watch:{ 组件传参的字段 :{ handler (newV, oldV){ 这里打印 newV, oldV 就可以看到数据变化了 } , immediate: true, // 重点 deep: ...
- Vue ----》 如何实现 sessionStorage 的监听,实现数据响应式
在开发过程中,组件中的随时可能改变的数据有的是缓存到sessionStorage里面的,但是有些组件取seesionStorage中的值时,并不能取到更新后的值. 接下来就说一下,当seesionSt ...
随机推荐
- 二叉苹果树|codevs5565|luoguP2015|树形DP|Elena
二叉苹果树 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端连接的 ...
- 使用Entity Framework Core需要注意的一个全表查询问题
.NET Core 迁移工作如火如荼,今天在使用 Entity Frameowork Core(又名EF Core)时写了下面这样的 LINQ 查询表达式: .Where(u => u.Id = ...
- MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...
- Codeforces 977F - Consecutive Subsequence - [map优化DP]
题目链接:http://codeforces.com/problemset/problem/977/F 题意: 给定一个长度为 $n$ 的整数序列 $a[1 \sim n]$,要求你找到一个它最长的一 ...
- [No0000149]ReSharper操作指南6/16-编码协助之其他协助
语法高亮 ReSharper扩展了默认Visual Studio的符号高亮显示.此外,它还会使用可配置的颜色突出显示字段,局部变量,类型和其他标识符.例如,ReSharper语法突出显示允许您轻松区分 ...
- 安装arcgis10.5不能启动服务的解决方案
最近由于公司需要,要装arcgis10.5,但是装这软件就费了好久的功夫.以前用的10.2,安装比较简单,但是10.5看起来就不一样了,下载完成后就会发现多了一个破解文件.按照教程一步一步安装的,但是 ...
- PHP之错误
三.PHP配置之Error handling logging 1.error_reporting integer error_reporting = E_ALL 设置错误报告的级别.该参数可以是一个任 ...
- Linux下稀疏文件的存储方式
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- https://pypi.org/project/py-mysql2pgsql/
https://packages.ubuntu.com/trusty/postgresql-server-dev-9.3 所以使用下面的命令即可安装python-dev: yum install py ...
- Page9:结构分解以及系统内部稳定和BIBO稳定概念及其性质[Linear System Theory]
内容包含系统能控性结构分解.系统能观测性结构分解以及系统结构规范分解原理,线性系统的内部稳定.BIBO稳定概念及其性质