微信小程序获取数据、处理数据、绑定数据关键步骤记录
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
微信小程序获取数据、处理数据、绑定数据关键步骤记录的更多相关文章
- 微信小程序结合后台数据管理实现商品数据的动态展示、维护
微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,本篇随笔介绍微信小程序结合后台数据管理实现商品数据的动态展示.维护,介绍如何实现商品数据在后台管理系统中的维护管理,并通 ...
- 微信小程序通过api接口将json数据展现到小程序示例
这篇文章主要介绍了微信小程序通过api接口将json数据展现到小程序示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧实现知乎客户端的一个重要知识前提就是,要知道怎么通过 ...
- 微信小程序wx.request请求服务器json数据并渲染到页面
[原文出自]: https://blog.csdn.net/weixin_39927850/article/details/79766259 微信小程序的数据总不能写死吧,肯定是要结合数据库来做数据更 ...
- ESP32 BLE蓝牙 微信小程序通信发送大于20字符数据
由于微信小程序只支持BLE每次发送数据不大于20个字节,ESP32则有经典蓝牙.低功耗蓝牙两种模式. 要解决发送数据大于20个字节的问题,最简单实用的方式就是分包发送.如下图所示: 1.什么起始字符和 ...
- .Net之微信小程序获取用户UnionID
前言: 在实际项目开发中我们经常会遇到账号统一的问题,如何在不同端或者是不同的登录方式下保证同一个会员或者用户账号唯一(便于用户信息的管理).这段时间就有一个这样的需求,之前有个客户做了一个微信小程序 ...
- 图解微信小程序---获取电影信息
图解微信小程序---获取电影信息 代码笔记 第一步:编写js文件,调用api获取相对应电影详情信息(注意带入的参数是id不在是榜单的type,电影api的movie后面又斜杠,别忘了,对应的绑定数据的 ...
- [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息
因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
- C# 微信小程序获取openid sessionkey
项目介绍 1.微信小程序获取openid和session_key 2.后台使用C#开发 项目流程 准备工作 1 获取appid 1.1 下载微信web开发工具 https://developers.w ...
- JavaScript和微信小程序获取IP地址的方法
最近公司新加了一个需求,根据用户登录的IP地址判断是否重复登录,重复登录就进行逼退,那么怎么获取到浏览器的IP地址呢?最后发现搜狐提供了一个JS接口,可以通过它获取到客户端的IP. 接口地址如下: h ...
- 微信小程序获取输入框(input)内容
微信小程序---获取输入框(input)内容 wxml <input placeholder="请输入手机号码" maxlength="11" type= ...
随机推荐
- bat 操作数据库(附加,分离,删除,还原)
BAT代码: @echo off Title DataBase Color 0A :caozuo echo. echo ═══════════════════════════════════════ ...
- dubbo心跳机制 (2)
此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 来看一下HeaderExchangeServer.this.getChannels(): 1 p ...
- java基础之变量和常量、类型转换
一. 变量 变量是可改变的量,每赋个值便会开辟一个新内存地址. 1.首先,变量需要一个声明,例如:int a,这个a也可以当作是一个标签,它指向了一个内存地址,这个地址是属于int类型的套餐, ...
- Django博客开发教程,Django快速开发个人blog
学DjangoWEB框架,估计大部分的朋友都是从Blog开发开始入门的,Django中文网发布了一个Django开发教程,这个教程简单易懂,能让你快速的使用Django开发一个漂亮的个人blog,是D ...
- cuda测试二维block的使用
#include "cuda_runtime.h" #include <stdio.h> #include <stdlib.h> #include < ...
- 线段树 SP1043 GSS1 - Can you answer these queries I
SP1043 GSS1 - Can you answer these queries I 题目描述 给出了序列A[1],A[2],-,A[N]. (a[i]≤15007,1≤N≤50000).查询定义 ...
- Arch下systemd无法开机执行rc.local之解决方法
早就发现了,Arch的systemd提供的那个 rc-local.service 貌似有问题,rc.local不会执行.因为没用rc.local,一直没管. 解决方法源自这里,需要稍加改动: http ...
- shell操作字符串案例
#!/bin/bash name="Shell" url="http://cxy.com/" str1=$name$url #中间不能有空格 str2=&quo ...
- Spring----. ref的用法
ref元素是用在property中,来设置需要引用的容器管理的其它Bean. 它的用法:<ref bean|local|parent="someBean"> ...
- Hdu 5862 Counting Intersections(有n条线段,每一条线段都是平行于x轴或者y轴,问有多少个交点+树状数组区间求和单点跟新)
传送门:Hdu 5862 Counting Intersections 题意:有n条线段,每一条线段都是平行于x轴或者y轴,问有多少个交点 分析: 基本的操作流程是:先将所有的线段按照横树坐标x按小的 ...