为什么在data中把原先的post_key[]删除也可以显示

来源:18-2 使用require方法加载js模块儿文件

Geek宝贝

2019-10-27

为什么课程中将所有数据转移到post-data. js后,在原来的data里面删除了之前的所有数据,但是原先的data{post_data[]}不是在下面的set_data里面也已经命名了吗?为什么可以在在data{}中删除了post_data[],依然可以显示?
http://img.mukewang.com/szimg/5db55ad808e184dd06610496.jpg

写回答

2回答

Geek宝贝

提问者

2019-10-28

原先的代码:
Page({

data: {
date: 'Nov 18 2019',
title: '正是虾肥蟹壮时',
posts_key: [] 
},

onLoad: function (options) {
this.setData({
posts_key: postsData.postList
})
}
})

根据课程的讲述,我们用require方法可以将很多“服务器数据”转移到了post-data.js,然后原先在post.js文件中data{}中的数据因为被转移了,因此data{}中的内容可以删除变成空白,因此课程最后示例代码变成下面这样,

Page({

data: {
//该部分数据内容被转移到post-data.js后,被删除了
},

onLoad: function (options) {
this.setData({
posts_key: postsData.postList
})
}
})


根据老师所说,所有的数据都需要传到data{}中才能在wxml中页面显示,那么,问题来了!为什么data{}中什么内容都没有, 数据内容依然可以在wxml中显示?


按照我的理解,至少data{}中,要有this.setData方法中所定义的post_key对象,才能显示来自post-data.js内的数据,如下面代码这样:

Page({

data: {
posts_key: [] 
//我个人觉得这个地方post_key[]不能被删除,才能显示来自post-data.js内的数据
},

onLoad: function (options) {
this.setData({
posts_key: postsData.postList
})
}
})


所以我想问的是,为什么课程代码中,data{}中什么内容都没有, 数据内容依然可以在wxml中显示?



1
1
7七月
data中可以不用定义,但是必须有setData,setData了才能显示。
2019-10-28
共1条回复

7七月

2019-10-27

麻烦帖下代码 描述下,不是很明白你的意思。

0
0

微信小程序入门与实战(全新版) 超20000人学习的好课

4年同步微信官方迭代,累计20000+人学习, 比微信官方更火爆!

23956 学习 · 6928 问题

查看课程