微信小程序的数据绑定--从Data传输到view

一、说明

这个讨论的是纯前端的数据传输,指的是从js文件的Data中获取数据,并在view页面显示的过程。微信小程序官方文档已经有很好的说明,比较全面。这里只是归类一下常用的方法,看起来会简单一些。

二、规则

WXML 中的动态数据均来自对应 Page 的 data。

这句话很重要,它告诉开发者,如何让一个页面访问到任何一个page的变量。

  1. 前端页面只从Page中的data中获取数据。微信小程序的目录结构是固定的,每个wxml的数据一定来自于同目录的.js文件Page的data。
  2. app.js是全局的,它里面的data也是全局变量,所有的页面都可以getApp实例后,获取到app.data数据。
  3. 不同page之间的数据时相互独立的,他们之间数据交互需要通过,app的全局data来中转。
    在这里插入图片描述

三、常用绑定方式

一下都基于同一个目录下的js数据传输到wxml并显示。不考虑不同页面之间数据传输。
读者一定要属性json数据格式,否则定义data数据复杂事会看不清楚数据的结构。
简单易懂的json教程: http://www.w3school.com.cn/json/index.asp

3.1单个常量绑定

定义一个变量,前端直接显示这个变量。

Page({
  data: {
    msg:'Hello World'
  }
})
<view>{{msg}}</view>

在这里插入图片描述

3.2 数组绑定

数组的特点是一个数据包含多个元素,关注点在于如何控制每个元素的获取和页面显示。

wx:for={{array}} 属性控制标签,我们后台传过来的数组绑定到了view这个标签上。这个view内部的模块会被重复渲染,渲染的次数等于array的元素个数。

index 和item 是固定的,不是自定义的。分别代表如下含义:

  • index 代表了每个元素下表
  • item 代表了每个元素的内容
Page({
  data: {
    blklist: ['张三','李四','王五','李磊']
  }
})
<view wx:for='{{blklist}}'>{{index}}、{{item}}</view>

页面渲染的结果如下:
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在微信小程序,可以通过绑定数据并使用 wx:for 指令来在 scroll-view 展示数据。在组件的 data 声明一个变量来存储数据,然后在 scroll-view 使用 wx:for 指令绑定该变量。在需要修改数据时,可以在组件的 methods 定义函数,通过调用 this.setData() 方法来更新数据。 例如: ``` <scroll-view class="scroll-view"> <view wx:for="{{items}}" wx:key="index"> {{item}} </view> </scroll-view> ``` ``` Page({ data: { items: [1, 2, 3, 4, 5] }, updateData: function() { this.setData({ items: [6, 7, 8, 9, 10] }) } }) ``` 在这个例子,一个叫做 items 的数组存储了数据。 scroll-view 使用 wx:for 指令绑定了 items 变量,并在每个 view 显示了数组的每一项。在需要修改数据时,可以调用 updateData 函数来更新数据。 ### 回答2: 要修改微信小程序scroll-view展示的数据,可以按照以下步骤进行操作: 1. 在小程序的页面文件找到需要修改scroll-view展示数据的位置。 2. 在该位置定义一个变量,用来存储需要展示的数据。 3. 在小程序的逻辑文件找到对应的页面逻辑代码,在onLoad或者其他合适的生命周期函数初始化该变量,并将需要展示的数据赋值给它。 4. 在scroll-view组件绑定该变量到对应的数据源上,例如使用wx:for指令绑定该变量作为数据源。 5. 在需要修改scroll-view展示数据的地方,通过修改该变量的值来达到更新数据的目的。可以通过setData方法更新变量的值。 6. 在小程序的视图,使用{{}}插值表达式来动态展示该变量的值,确保scroll-view的内容能够根据该变量的变化而动态更新。例如可以在scroll-view使用{{item}}来展示变量的每个数据项。 通过上述步骤,我们可以在微信小程序实现修改scroll-view展示数据的功能。值得注意的是,要确保数据更新后调用setData方法进行页面更新,以便视图能够正确展示最新的数据。 ### 回答3: 微信小程序的scroll-view组件是用来展示可滚动的区域的,通常用于展示大量的数据。如果要修改scroll-view展示的数据,可以按照以下步骤操作: 1. 首先,在wxml文件定义scroll-view组件,并设置id属性,例如 <scroll-view id="scrollView"></scroll-view>。 2. 在对应的js文件,获取scroll-view组件的实例,使用`wx.createSelectorQuery().select('#scrollView')`来选择该组件,并使用`fields`方法设置需要返回的属性。 3. 使用`exec`方法执行选择器查询,并在`exec`的回调函数获取scroll-view组件实例。 4. 通过`setData`方法修改scroll-view组件的数据。 具体的代码如下所示: ```javascript // 获取scroll-view组件的实例并修改数据 const scrollView = wx.createSelectorQuery().select('#scrollView'); scrollView.fields({ scrollOffset: true, size: true, scrollHeight: true }).exec(res => { const scrollTop = res[0].scrollTop; // 获取当前滚动距离顶部的距离 const scrollHeight = res[0].scrollHeight; // 获取scroll-view的高度 const size = res[0].size; // 获取scroll-view的宽高 // 根据需要修改scroll-view数据 const newData = []; // 新的数据 const scrollY = scrollTop + size.height; // 计算滚动到底部的距离 if (scrollY >= scrollHeight) { // 如果滚动到底部,加载更多数据 // 在newData追加更多数据 } else { // 其他操作 } // 更新scroll-view数据 this.setData({ scrollViewData: newData }); }); ``` 通过以上步骤,可以在微信小程序通过修改scroll-view数据来实现展示不同的内容。需要注意的是,其的具体操作可能需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值