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


Posted in Javascript onNovember 09, 2020

我的问题出在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有值,但是页面{{}} 取不到值的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
Document.body.scrollTop的值总为零的快速解决办法
Jun 09 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
Jul 14 Javascript
JavaScript中子对象访问父对象的方式详解
Sep 01 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
JavaScript中清空数组的三种方式
Mar 22 Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 Javascript
微信小程序实现图片上传、删除和预览功能的方法
Dec 18 Javascript
koa2实现登录注册功能的示例代码
Dec 03 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
Apr 03 Javascript
Vue实现简单的跑马灯
May 25 Javascript
vue 防止页面加载时看到花括号的解决操作
Nov 09 #Javascript
Webpack的Loader和Plugin的区别
Nov 09 #Javascript
解决vue初始化项目一直停在downloading template的问题
Nov 09 #Javascript
在VUE中使用lodash的debounce和throttle操作
Nov 09 #Javascript
解决vue init webpack 下载依赖卡住不动的问题
Nov 09 #Javascript
详解nginx配置vue h5 history去除#号
Nov 09 #Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
Nov 09 #Javascript
You might like
德劲1102收音机的打理维修案例
2021/03/02 无线电
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
Python 文件和输入输出小结
2013/10/09 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
python判断链表是否有环的实例代码
2020/01/31 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
个人自荐材料
2014/05/23 职场文书
食品安全宣传标语
2014/06/07 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
2014年教研工作总结
2014/12/06 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
淮海战役观后感
2015/06/11 职场文书
法院执行局工作总结
2015/08/11 职场文书
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
php png失真的原因及解决办法
2021/10/24 PHP
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技