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 相关文章推荐
JavaScipt基本教程之前言
Jan 16 Javascript
javascript 添加和移除函数的通用方法
Oct 20 Javascript
jQuery 美元符冲突的解决方法
Mar 28 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
ionic中列表项增加和删除的实现方法
Jan 22 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
Jun 29 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
Mar 19 Javascript
JS实现简单的文字无缝上下滚动功能示例
Jun 22 Javascript
js 递归json树实现根据子id查父id的方法分析
Nov 08 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php 判断数组是几维数组
2013/03/20 PHP
PHP 断点续传实例详解
2017/11/11 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
java解析json方法总结
2019/05/16 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
ionic实现底部分享功能
2017/05/11 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python友情链接检查方法
2015/07/08 Python
Python正则表达式指南 推荐
2018/10/09 Python
Python检测数据类型的方法总结
2019/05/20 Python
python实现的config文件读写功能示例
2019/09/24 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
英国自行车商店:AW Cycles
2021/02/24 全球购物
环保口号大全
2014/06/12 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
庆国庆活动总结
2014/08/28 职场文书
行政申诉状范文
2015/05/20 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android