vue data有值,但是页面{{}} 取不到值的解决

 更新时间:2020年11月09日 14:26:08   作者:风雨断肠草  
这篇文章主要介绍了vue data有值,但是页面{{}} 取不到值的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我的问题出在js引入的顺序不对,导致不能正常显示vue中的值

正确的顺序应该是:

先引入vue的js--------html代码-----最后引入自己写的js

补充知识:vue中子组件的created、mounted生命周期钩子中获取不到props中的值问题

父子组件通信

这个很简单,父组件中使用v-bind绑定传送,子组件使用props接收即可 。

例如:在父组件中

<template>
 <div>
  <div :Data="Data"></div>
 </div>
</template>
<script>
 data(){
   return {
    Data: [10,20,30]
   }
  },
</script>

子组件中:

export default{
 props:{
 type:Array,
 default(){
 return []
 }
 }
}

这种情况下你的Data值是固定的,子组件的 methods 中想要取到props中的值,直接使用 this.chartData 即可 。

但是有的情况下,你的Data 里面的值并不是固定的,而是动态获取的,这种情况下,你会发现 methods 中是取不到你的 Data 的,或者取到的一直是默认值。

解决办法:

这种情况我是使用watch处理

监听 Data 的值,当它由空转变时就会触发,这时候就能取到了,拿到值后要做的处理方法也需要在 watch 里面执行。

export default {
 props: ['Data'],
  data(){
   return {
    cData: []
   }
  },
  watch: {
   //正确给 Data 赋值的 方法
   chartData: function(newVal,oldVal){
    this.cData = newVal; //newVal即是chartData
    newVa l&& this.draw(); //newVal存在的话执行draw函数
   }
  },
  methods: {
   draw(){
    //执行其他逻辑
   }
  },
     
  mounted() {
   //在created、mounted这样的生命周期, 给 this.Data赋值会失败,错误赋值方法 
  }
 }

//总结

出现这种情况的原因, 因为父组件中要传递的 props 属性 是通过 发生ajax请求回来的, 请求的这个过程是需要时间的,但是子组件的渲染要快于ajax请求过程,所以此时 created 、 mounted 这样的只会执行一次的生命周期钩子,已经执行了,但是 props 还没有流进来(子组件),所以只能拿到默认值。

以上这篇vue data有值,但是页面{{}} 取不到值的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue通过封装全局获取焦点指令

    Vue通过封装全局获取焦点指令

    这篇文章主要为大家详细介绍了Vue通过封装全局获取焦点指令的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2023-12-12
  • vue+element upload上传带参数的实例

    vue+element upload上传带参数的实例

    这篇文章主要介绍了vue+element upload上传带参数的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue中的使用token的方法示例

    vue中的使用token的方法示例

    这篇文章主要介绍了vue中的使用token的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • vue-cli3跨域配置的简单方法

    vue-cli3跨域配置的简单方法

    这篇文章主要给大家介绍了关于vue-cli3跨域配置的简单方法,文中通过示例代码介绍的非常详细,对大家学习或者使用vue-cli3具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • vue中监听scroll事件失效的问题及解决

    vue中监听scroll事件失效的问题及解决

    这篇文章主要介绍了vue中监听scroll事件失效的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 在vscode中统一vue编码风格的方法

    在vscode中统一vue编码风格的方法

    本篇文章主要介绍了在vscode中统一vue编码风格的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • vue+element-ui+axios多文件上传的实现并显示整体进度

    vue+element-ui+axios多文件上传的实现并显示整体进度

    这篇文章主要介绍了vue+element-ui+axios多文件上传的实现并显示整体进度,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • webpack配置导致字体图标无法显示的解决方法

    webpack配置导致字体图标无法显示的解决方法

    下面小编就为大家分享一篇webpack配置导致字体图标无法显示的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue3+vite+vant项目下按需引入vant报错Failed to resolve import的原因及解决方案

    vue3+vite+vant项目下按需引入vant报错Failed to resolve import的原因及解决

    这篇文章主要给大家介绍了关于vue3+vite+vant项目下按需引入vant报错Failed to resolve import的原因及解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • vue如何获取自定义元素属性参数值的方法

    vue如何获取自定义元素属性参数值的方法

    这篇文章主要介绍了vue如何获取自定义元素属性参数值的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05

最新评论