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. C#:数据库通用访问类 SqlHelper

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

  2. Data Base oracle简单使用及管理工具使用

    oracle简单使用及管理工具使用 一.常用工具: 1.sqldeveloper 2.navicat for oracle 3.PLSQL Developer 4.toad

  3. 怎么用Shell连接VirtualBox Linux虚拟机,在Mac电脑上

    问题描述 由于VirtualBox采用桥接的方式连接网络,所以不能在Mac上直接访问虚拟机. 解决思路和办法 由于不能直连,但VirtualBox支持端口转发功能,可以设定转发规则,绑定宿主机和虚拟机 ...

  4. Android源码、内核编译

    Android源码和内核的编译就是一场马拉松,每一个节点都耗时漫长,下载源码.编译源码.下载内核.编译内核,下载中途会断掉,编译中间会失败,求解再重来,又是一轮马拉松,于是每一步都要做好备份和记录,可 ...

  5. POJ - 2528Mayor's posters (离散化+线段树区间覆盖)

    The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign h ...

  6. 【转】HTTP协议/IIS 原理及ASP.NET运行机制浅析【图解】

    源地址:http://blog.csdn.net/chelen_jak/article/details/50040537

  7. Html再学

    1.  Html是网页的载体.内容就是网页制作者放在页面上想要用户浏览的信息,可以包括文字.图片.视频等. 2.  CSS样式是展现.就像网页的外衣.比如,标题字体.颜色变化,或为标题加入背景图片.边 ...

  8. Opencv图像连通域

    [摘要] 本文介绍在图像处理领域中较为常用的一种图像区域(Blob)提取的方法——连通性分析法(连通区域标记法). 文中介绍了两种常见的连通性分析的算法:1)Two-pass:2)Seed-Filli ...

  9. springcloud系列五 feign远程调用服务

    一:Feign简介 Feign 是一种声明式.模板化的 HTTP 客户端,在 Spring Cloud 中使用 Feign,可以做到使用 HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完 ...

  10. clojure with postgres

    主要关注访问pg.不关心其他db 1 clojure.java.jdbc https://github.com/clojure/java.jdbc http://clojure-doc.org/art ...