vue中父组件传值给子组件,父组件值改变,子组件不能重新渲染[通俗易懂]

vue中父组件传值给子组件,父组件值改变,子组件不能重新渲染[通俗易懂]1在子组件中用watch()监听值的改变,不同的类型的要用不同的监听方法props:{echartStyle:{type:Object,default(){return{}}},titleText:{type:String,default:”},tooltipFormatt…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1在子组件中用watch()监听值的改变,不同的类型的要用不同的监听方法

props: {
  echartStyle: {
    type: Object,
    default() {
      return {}
    }},
    titleText: {
      type: String,
      default: ''
    },
    tooltipFormatter: {
      type: String,
      default: ''
    },
    opinion: {
      type: Array,
      default() {
        return []
      }
    },
    seriesName: {
      type: String,
      default: ''
    },
    opinionData: {
      type: Array,
      default() {
        return []
      }
    }

Jetbrains全家桶1年46,售后保障稳定

}

//watch进行监听

watch:{
  titleText:function(newValue,oldValue){
    this.getChange();
  },
  echartStyle:{
    handler(newValue,oldValue){
       this.getChange();
    },
    deep:true
  },
  tooltipFormatter:function(newValue,oldValue){
    this.getChange();
  },
  opinion:{
    handler(newValue,oldValue){
      this.getChange();
    },
    deep:true //深度监听
  },
  seriesName:function(newValue,oldValue){
    this.getChange();
  },
  opinionData:{
    handler(newValue,oldValue){
      this.getChange();
    },
    deep:true
  }

},
2 在父组件中用ref="str" 来声明组件,然后通过this.$refs.str.method()在值改变的地方来调用子组件中的方法
来 重新渲染(暂时使用有bug,不能够及时渲染,父组件值已经改变了,但是子组件值仍然没有改变,不能够及时渲染)

   这个方法感觉props’接收数据在调用方法之后,明明父组件的值已经改变了,但是父组件在调用子组件方法时,数据仍然没有  接收到,调用之后才接收到,这个方法暂且没用,应该是声明ref的时候声明的是当前组件的实例,然后调用时调用的也是值未改变时的属性。这个没什么用,可以用来调用子组件方法。

<pie-chart2   ref="pieChart"
  :echartStyle="echartStyle"  :titleText="titleText" :tooltipFormatter="tooltipFormatter"
  :opinion="opinion"  :seriesName="seriesName" :opinionData="opinionData"

>
</pie-chart2>
 
refresh:function(){
  if(!this.bindData.data){
    this.bindData.data = this.bindData.configures;
  }
  this.bindData.id = this.bindData.moduleId ||'pir';
  if(this.bindData.data){
    alert(this.bindData.data.name);
    this.changeContent(this.bindData.data);
    this.getChartData(this.bindData.data);
    this.$refs.pieChart.getChange();
  }

},

3 在子组件上使用 v-if =”flag” (谢谢各位老哥的建议)

初始flag:true

修改data时

changData(data){

this.flag = false

this.data =data

this.$nextTick(()=>{

this.flag = true;

})

}

  

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231657.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Delphi XE3 下安装ActiveX控件「建议收藏」

    Delphi XE3 下安装ActiveX控件「建议收藏」http://blog.csdn.net/lee576/article/details/1770744此英文文章来自codegear官方网站,但是是讲在BDS2006 下如何安装,我在delphi2007下用此方法,一样通过,原文如下 Description:HowtoimportanActiveXcontrolinBDS2006?Answer/S

    2022年5月14日
    35
  • Springboot集成swagger_springboot nginx

    Springboot集成swagger_springboot nginx目前java操作redis的客户端有jedis跟Lettuce。在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce。因为我们的版本是springboot2.x系列,所以今天使用的是Lettuce。关于jedis跟lettuce的区别:Lettuce和Jedis的定位都是Redis的client,所以他们当然可以直接…

    2022年9月22日
    2
  • ABP源码分析十四:Entity的设计

    ABP源码分析十四:Entity的设计

    2021年9月13日
    42
  • 函数的极限定义

    函数的极限定义函数的极限情况情况1:自变量x任意地接近于有限值x0,记作x->x0时,函数f(x)的变化情况;情况2:自变量x的绝对值|x|无限取向正无穷的时,函数f(x)的变化情况;然后明白下去心邻域:以x0这一点为中心的任何开区间——称为点x0的邻域。用符号表达为:U(x0)如果去掉x0这个点,那么就是去心邻域,用符号表达为:U’(x0)定义:|f(x)-A|<smallvalue,x无限趋向于x0这里的:smallvalue可以任意小,要多小有多小。A是一个常数。那么此时必

    2022年4月30日
    58
  • Pytest(6)重复运行用例pytest-repeat[通俗易懂]

    Pytest(6)重复运行用例pytest-repeat[通俗易懂]前言平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,

    2022年7月29日
    8
  • C# 二代身份证验证 / VerifyIDCard[通俗易懂]

    C# 二代身份证验证 / VerifyIDCard[通俗易懂]由于现在社会技术的发展,需要验证身份证的合法性越发重要那么我们如何去验证一个身份证是否合法呢?我在以前的时候,特意写过一篇VB.NET查询身份证信息当然它是通过“百度身份证信息查询”的REST接口编写的一个类,当然那个时候并不考虑通过“身份证验证算法”识别身份证是否有效,注意VB.NET的主题是“查询身份证信息”而不是“验证身份证合法性”、我们以上面的“身份

    2022年6月27日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号