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 =& ...
随机推荐
- 使用IDEA开发Spark程序
一.分布式估算圆周率 1.计算原理 假设正方形的面积S等于x²,而正方形的内切圆的面积C等于Pi×(x/2)²,因此圆面积与正方形面积之比C/S就为Pi/4,于是就有Pi=4×C/S. 可以利用计算机 ...
- Andriod Studio设置类默认签名模板
- WordCount的实现和测试
WordCount 一.开头 (1)合作者:201631107110,201631083416 (2)代码地址:https://gitee.com/zhaoxiaoqin/WordCount.git ...
- Knative Serving 健康检查机制分析
作者| 阿里云智能事业群技术专家牛秋霖(冬岛) 导读:从头开发一个Serverless引擎并不是一件容易的事情,今天咱们就从Knative的健康检查说起.通过健康检查这一个点来看看Serverles ...
- pymssql连接Azure SQL Database
使用pymssql访问Azure SQL Database时遇到"DB-Lib error message 20002, severity 9:\nAdaptive Server conne ...
- [数据同步]Flume 抽取Mysql历史数据
一.Flume安装目录 1.安装部署目录 [admin@test01 apache-flume-1.9.0-bin]$ pwd /opt/apache-flume-1.9.0-bin 2.将所需jar ...
- mysql多种备份与恢复方式一
基于mysql社区版5.7,严重声明:本文中图方便直接写入了-p数据库密码,在生产环境中如果指定了一定要使用history -C清空历史命令记录哦,所有博客作者原创纯手打,转载一定要注明本博客链接,感 ...
- NOIP模拟21+22
模拟21确实毒瘤...考场上硬刚T3 2.5h,成功爆零 T1.数论 看这题目就让人不想做,考场上我比较明智的打完暴力就弃掉了,没有打很久的表然后找规律. 正解貌似是乱搞,我们考虑一个比较显然的结论: ...
- 易初大数据 2019年10月24日 spss笔记 王庆超
数据文件的重置结构:横向结构(个案组),纵向结构,不符合分析方法的时候就需要重组,选定变量重组为个案,数据—重构,重构数据向导,选定变量重组为个案,将选定个案重构位变量,转置所有数据,变量组数目,一个 ...
- 小程序---电影商城---第三方组件 vant(vant weapp)
小程序版本主页 https://youzan.github.io/vant-weapp/#/intro (1)创建项目描述文件 package.json ---鼠标右击 miniprogram 目录 ...