vue响应式的注意事项
在html中出现无法显示对象属性的情况,可能是需要在初始化对象时,先定义好属性。
<template>
<div>
<div v-else class="req-more">
<div class="line"></div>
<p class="p-header">回单信息:</p>
<van-card>
<div slot="thumb">
<img :src="feedBackData.img" alt="" class="card-img"/>
</div>
<div slot="title">
<span style="">卡号:{{feedBackData.colorCode}}</span>
<span class="req-feedback" style="color: red">{{feedBackData.acceptDate}}</span>
</div>
<div slot="desc" style="margin: 15px 0">
<span>版价:{{feedBackData.price}}</span>
<span class="req-feedback">{{feedBackData.sendSatus}}</span>
</div>
<div slot="tags">
<span>价格:{{feedBackData.samplePrice}}</span>
<span class="req-feedback">
<van-button class="bt-check bt-bright" @click="goSupplier">
查看
</van-button>
</span>
</div>
<div slot="footer" v-if="express.number" style="padding: 20px 0">
<span style="float: left;line-height: 30px">物流信息:{{express.company}}|{{express.number}}</span>
<span class="req-feedback">
<van-button class="bt-check bt-bright" @click="copyNumber">
复制快递单号
</van-button>
</span>
</div>
</van-card>
</div>
</div>
</template> <script>
import {formatDate, CUSTOMIZE, TYPE, CLOTHSTYLE, SENDSTATUS, BASEURL, API, pushHistory} from '../../assets/js/common.js'
import {handleClipboard} from '../../assets/js/clipboard'
import BigImg from '../../../src/components/BigImg' export default {
components: {'big-img': BigImg},
data () {
return {
feedBackData: { // 初始化的时候就要带有属性,如果只是 feedBackData:{}, 然后在getFeedBackData()方法中写入属性-值 键值对,在html中是不会自动响应更新的!!
'img': '',
'colorCode': '',
'price': '',
'samplePrice': '',
'acceptDate': '',
'sendSatus': ''
},
express: {}
}
},
created () {
this.flag = sessionStorage.getItem('flag')
this.providerId = sessionStorage.getItem('providerId')
this.inquiryId = sessionStorage.getItem('inquiryId')
if (this.flag === 'g') { // 已经接单了,可以获取回单信息
this.getFeedBackData()
}
},
methods: {
getFeedBackData () { // 获取回单信息
let url = API + '/show.do?'
let formdata = {
'cmd': 'getInquiryReceiptList',
'userId': this.providerId,
'page': 0,
'pageSize': 10,
'inquiryId': this.inquiryId,
'status': -1
}
if (this.providerId <= 0 || this.inquiryId <= 0) { // Id异常
alert('this.providerId:' + String(this.providerId) + ',this.inquiryId:' + String(this.inquiryId))
return false
}
this.axios.post(BASEURL + url, this.qs.stringify(formdata)).then(res => {
if (res.exId) {
alert(res.desc)
} else {
// item.receiptList[0]?item.receiptList[0].colorCardCode||'':''
this.feedBackData['img'] = res.data.list[0] ? res.data.list[0].imgUrlListValue[0] : require('../../assets/zsi.png')
this.feedBackData['colorCode'] = res.data.list[0] ? res.data.list[0].colorCardCode : 'ASD00000000'
this.feedBackData['price'] = String(res.data.list[0].unitPrice) + '/米'
this.feedBackData['samplePrice'] = String(res.data.list[0].samplePrice) + '/米'
this.feedBackData['acceptDate'] = formatDate(res.data.list[0].createTime)
this.feedBackData['sendSatus'] = SENDSTATUS[res.data.list[0].status]
}
})
}
}
}
</script> <style scoped>
@import '../../assets/css/mycss.css';
</style>

参考官方文档
https://cn.vuejs.org/v2/guide/reactivity.html#%E6%A3%80%E6%B5%8B%E5%8F%98%E5%8C%96%E7%9A%84%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9
vue响应式的注意事项的更多相关文章
- 浅谈Vue响应式(数组变异方法)
很多初使用Vue的同学会发现,在改变数组的值的时候,值确实是改变了,但是视图却无动于衷,果然是因为数组太高冷了吗? 查看官方文档才发现,不是女神太高冷,而是你没用对方法. 看来想让女神自己动,关键得用 ...
- 深入探讨vue响应式原理
现在是时候深入一下了!Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是普通的 JavaScript 对象.而当你修改它们时,视图会进行更新.这使得状态管理非常简单直接,不过理解其工作 ...
- 深度解析 Vue 响应式原理
深度解析 Vue 响应式原理 该文章内容节选自团队的开源项目 InterviewMap.项目目前内容包含了 JS.网络.浏览器相关.性能优化.安全.框架.Git.数据结构.算法等内容,无论是基础还是进 ...
- Vue源码--解读vue响应式原理
原文链接:https://geniuspeng.github.io/2018/01/05/vue-reactivity/ Vue的官方说明里有深入响应式原理这一节.在此官方也提到过: 当你把一个普通的 ...
- vue响应式数据变化
vue响应式数据变化 话不多说,先上代码: //拷贝一份数组原型,防止修改所有数组类型变量的原型方法 let arrayProto = Array.prototype;// 数组原型上的方法 let ...
- Vue响应式原理及总结
Vue 的响应式原理是核心是通过 ES5 的保护对象的 Object.defindeProperty 中的访问器属性中的 get 和 set 方法,data 中声明的属性都被添加了访问器属性,当读取 ...
- 详解Vue响应式原理
摘要: 搞懂Vue响应式原理! 作者:浪里行舟 原文:深入浅出Vue响应式原理 Fundebug经授权转载,版权归原作者所有. 前言 Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是 ...
- vue响应式原理,去掉优化,只看核心
Vue响应式原理 作为写业务的码农,几乎不必知道原理.但是当你去找工作的时候,可是需要造原子弹的,什么都得知道一些才行.所以找工作之前可以先复习下,只要是关于vue的,必定会问响应式原理. 核心: / ...
- 深入Vue响应式原理
深入Vue.js响应式原理 一.创建一个Vue应用 new Vue({ data() { return { name: 'yjh', }; }, router, store, render: h =& ...
随机推荐
- python学习-变量和简单类型(二)
学习笔记中的源码:传送门 1.注释: 单行注释(#):多行注释("""或者''') 2.python标准数据类型:数字(numbers).字符串(string).列表(l ...
- Java socket Tcp协议 实现文件传输
1.文件加密上传后发现文件已损坏: 原因:使用 read(byte[]) 方法不能够准确的获取到正确的字节数,有可能比 byte[].length 小,所以在解密的时候出现错误. 解决办法: 判断读取 ...
- label 标签的 for 属相
我的github iSAM2016 一开始学html 标签的时候,知道有label 这个标签的,但是并没有注意到他的for 属性的作用,看一下MDN的介绍 for 可标记的 form相关元素的ID,在 ...
- Linux杂谈:解决配置静态ip后eth0网卡启动不了的问题
今天在看imooc上的<Linux网络管理>的课程中,在做一些实验时修改了下网络配置,发现了一些问题,就是保存网络配置后eth0网卡打不开,可能也会有很多人出现这类问题,我就在这里分享下自 ...
- Django的下载与基本命令
1.下载Django: pip3 install django==2.1.2 2.创建一个django project django-admin startproject 项目名称 3.在项目目录下创 ...
- pythonpip的基本使用
pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能.目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具.Python 2.7 ...
- 不用循环控制、条件控制、三目运算符 实现阶乘n!
long func(int n) { ( n <= 1 && (n=1) ) || ( n*=func(n-1)); return n; } template<int N& ...
- 图片瀑布流,so easy!
什么是图片瀑布流 用一张花瓣网页的图片布局可以很清楚看出图片瀑布流的样子: 简单来说,就是有很多图片平铺在页面上,每张图片的宽度相同,但是高度不同,这样错落有致的排列出 n 列的样子很像瀑布,于是就有 ...
- html2canvas 生成电子合同书
首先给合同书父级加个ref 然后用html2canvas 插件 然后html2canvas 坑区来了,生成页面的时候,合同书是很长的.他有一部分是黑色的, 最开始从前辈们了解到是滚至顶部解决偏移.然后 ...
- 前端组件用 Scope 发布 npm 包的方法
1.引言 多人.多组织或多组件发布 npm 包到同一个仓库时,可能出现命名冲突问题. 为了解决这个问题,npm 引入了“scope”(范围)概念. 在 Angular 项目中,我们通常可以看到“@an ...