onload:function(event){
var inTheatersUrl ="https://api.douban.com"+"/v2/movie/in_theaters"+"?start=0&count=3";
this.getlistData(inTheatersUrl,inTheaters);
this.getlistData(inTheatersUrl,comingsoon);
this.getlistData(inTheatersUrl,top250);
}
//请求数据函数 把信息绑定到上面onload里。

getListData:function(url,settedKey){
var that = this;
wx.request({
url:url,
method:"GET",
  header:{"Content-Type":"json"},
success:function(res){
console.log(res.data);//打印是否获取到信息
that.processData(res.data,settedKey);
}//res.data作为参数传递
fail:function(error){console.log(error)}
});
}

//数据处理 绑定数据
processData: function (movies,settedKey) {
var movies = [];//
for (var idx in movies.subjects) {
var subject = moviesDouban.subjects[idx];
var title = subject.title;
if (title.length >= 6) {
title = title.substring(0, 6) + "...";
}
// [1,1,1,1,1] [1,1,1,0,0]
var temp = {
stars: util.convertToStarsArray(subject.rating.stars),
title: title,
average: subject.rating.average,
coverageUrl: subject.images.large,
movieId: subject.id
}
movies.push(temp)
}
//定义一个空对象 动态加载
var readyData ={};
readyData[settedKey]= {movies:movies};
this.setData( readyData movies: movies//加入key之后就不能用movies了 ); }

把movies绑定到xml页面中 绑定的时候,页面自上而下绑定

在list-template

  <block wx:for="{{movies}}" wx:for-item="movie">   //循环,传入movies
<template is="movieTemplate" data="{{...movie}}"/>
</block>

下一级页面就可以直接动态绑定 用{{ }}绑定就可以了

但是如果是异步加载,怎么确定对应的数据就是自己要加载的数据呢?

首先定义几个要用的变量,作为区分叫做key//(这个地方还不是完全明白,先记住,以后懂了再来补)

data:{
inTheaters: {},
comingSoon: {},
top250: {},
}

 把这些key,传递到上面对应的函数中。 

这样就可以用key对xml绑定data

movies页面

 <template is="movieListTemplate" data="{{...inTheaters}}" />
<template is="movieListTemplate" data="{{...comingSoon}}"/>
<template is="movieGridTemplate" data="{{...searchResult}}"/>

上面知识点:定义movies空数组

1、数组对象的作用:使用单独的变量名来存储一系列的值。

2、创建数组:创建数组为其赋值,然后输出这些值。

var mycars = new Array();
mycars[0] ="a";
mycars[1]="b";
mycars[2]="c";
for(i=0;i<mycars.length;i++){
document.write(mycars[i]+"<br/>");
}
//a b c

3、For...In声明:用来循环输出数组中的元素

var x;
var mycars = new Array();
mycars[0]="a";
mycars[1]="b";
mycars[2]="c";
for(x in mycars){
document.write(mycars[x]+"<br/>");
}
//a b c

微信小程序获取数据、处理数据、绑定数据关键步骤记录的更多相关文章

  1. 微信小程序结合后台数据管理实现商品数据的动态展示、维护

    微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,本篇随笔介绍微信小程序结合后台数据管理实现商品数据的动态展示.维护,介绍如何实现商品数据在后台管理系统中的维护管理,并通 ...

  2. 微信小程序通过api接口将json数据展现到小程序示例

    这篇文章主要介绍了微信小程序通过api接口将json数据展现到小程序示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧实现知乎客户端的一个重要知识前提就是,要知道怎么通过 ...

  3. 微信小程序wx.request请求服务器json数据并渲染到页面

    [原文出自]: https://blog.csdn.net/weixin_39927850/article/details/79766259 微信小程序的数据总不能写死吧,肯定是要结合数据库来做数据更 ...

  4. ESP32 BLE蓝牙 微信小程序通信发送大于20字符数据

    由于微信小程序只支持BLE每次发送数据不大于20个字节,ESP32则有经典蓝牙.低功耗蓝牙两种模式. 要解决发送数据大于20个字节的问题,最简单实用的方式就是分包发送.如下图所示: 1.什么起始字符和 ...

  5. .Net之微信小程序获取用户UnionID

    前言: 在实际项目开发中我们经常会遇到账号统一的问题,如何在不同端或者是不同的登录方式下保证同一个会员或者用户账号唯一(便于用户信息的管理).这段时间就有一个这样的需求,之前有个客户做了一个微信小程序 ...

  6. 图解微信小程序---获取电影信息

    图解微信小程序---获取电影信息 代码笔记 第一步:编写js文件,调用api获取相对应电影详情信息(注意带入的参数是id不在是榜单的type,电影api的movie后面又斜杠,别忘了,对应的绑定数据的 ...

  7. [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息

    因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...

  8. C# 微信小程序获取openid sessionkey

    项目介绍 1.微信小程序获取openid和session_key 2.后台使用C#开发 项目流程 准备工作 1 获取appid 1.1 下载微信web开发工具 https://developers.w ...

  9. JavaScript和微信小程序获取IP地址的方法

    最近公司新加了一个需求,根据用户登录的IP地址判断是否重复登录,重复登录就进行逼退,那么怎么获取到浏览器的IP地址呢?最后发现搜狐提供了一个JS接口,可以通过它获取到客户端的IP. 接口地址如下: h ...

  10. 微信小程序获取输入框(input)内容

    微信小程序---获取输入框(input)内容 wxml <input placeholder="请输入手机号码" maxlength="11" type= ...

随机推荐

  1. vmware vmware esxi5.x安装方法及解决错误

    vmware Esxi5.x安装指南 vmware Esxi5文档中心官网地址: http://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vm ...

  2. Git master branch has no upstream branch的解决

    Git master branch has no upstream branch的解决 在push代码时,出现“git master branch has no upstream branch”问题的 ...

  3. 梯度下降&随机梯度下降&批梯度下降

    梯度下降法 ​ 下面的h(x)是要拟合的函数,J(θ)损失函数,theta是参数,要迭代求解的值,theta求解出来了那最终要拟合的函数h(θ)就出来了.其中m是训练集的记录条数,j是参数的个数. 梯 ...

  4. Window安装TensorFlow- GPU环境

    [简述] 关于Window安装TensorFlow- GPU环境的文章我想网站已经有非常多了,但是为什么还要写这篇文章呢,就是被网上的文章给坑了.由于pip install tensorflow-gp ...

  5. 5.mybatis 多参数传递 -分页

    需求 :分页   方法一:使用下标来进行赋值,下标从零开始 mapper.xml <select id="selectByPage" resultMap="blog ...

  6. How to pass multiple parameters in PowerShell invoke-restmethod

    Link: http://www.tagwith.com/question_322855_how-to-pass-parameters-in-powershell-invoke-restmethod- ...

  7. apache htaccess 一个 例子

    <Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> DirectoryIndex index ...

  8. maven 过滤webapp下的文件

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-p ...

  9. 找到一篇关于 Oracle 全文检索实践 的文章

    http://www.iteye.com/topic/1118055 有详细的例子记录了Oracle 全文检索的使用.

  10. poj2001 Shortest Prefixes(字典树)

    Shortest Prefixes Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 21642   Accepted: 926 ...