请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

电影页面绑定数据

我在设置电影页面绑定的时候 data{}中我并没有设置初始值,但是也没有报错,绑定成功了,但是老师在视频里示范的出掉data{}中设置的初始值绑定,系统就报错了,是怎么回事,是小程序版本更新的问题吗

正在回答 回答被采纳积分+3

3回答

提问者 芷1 2018-12-29 16:06:49

<import src="movie-list/movie-list-template.wxml" />

<view class='container'>

<view class='movies-template'>

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

</view>

<view class='movies-template'>

<template is="movieListTemplate" data="{{...top250}}" />

</view>

<view class='movies-template'>

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

</view>

</view>


0 回复 有任何疑惑可以回复我~
提问者 芷1 2018-12-29 16:06:27

var app = getApp();//获取全局变量 app.js内部数据

Page({

data: {

},

onLoad: function (options) {

var inTheatersUrl = app.globalData.doubanBase +"/v2/movie/in_theaters"+"?start0&count=3";

var comingSoonUrl = app.globalData.doubanBase + "/v2/movie/coming_soon" + "?start0&count=3";

var top250Url = app.globalData.doubanBase + "/v2/movie/top250" + "?start0&count=3";

this.getMovieListData(inTheatersUrl,"inTheaters");

this.getMovieListData(comingSoonUrl,"comingSoon");

this.getMovieListData(top250Url,"top250")

},

getMovieListData: function (url, settedKey){

var that = this;

wx.request({

url: url,

data: {},

method: "GET",

header: {

"Content-Type": "json"

},

success(res) {

that.processDoubanData(res.data, settedKey)

}

})

},

// 处理电影返回的数据

processDoubanData: function (moviesDouban, settedKey){

var movies = [];

for(var idx in moviesDouban.subjects){

var subject = moviesDouban.subjects[idx];

var title = subject.title;

if(title.length>=6){

title = title.substring(0,6)+"..."

};

var temp = { //定义空对象 push到空数组

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)

console.log(readyData)

},


})


0 回复 有任何疑惑可以回复我~
7七月 2018-12-28 18:59:02

版本不会有问题的,贴代码看下。没报错多半是 你在wxml里的解析有问题。

0 回复 有任何疑惑可以回复我~
  • 提问者 芷1 #1
    processDoubanData: function (moviesDouban, settedKey){
        var movies = [];
        for(var idx in moviesDouban.subjects){
          var subject = moviesDouban.subjects[idx];
          var title = subject.title;
          if(title.length>=6){
            title = title.substring(0,6)+"..."
          };
         var temp = { //定义空对象 push到空数组
           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)
        console.log(readyData)
      },
    回复 有任何疑惑可以回复我~ 2018-12-29 16:04:37
  • 提问者 芷1 #2
    老师 我已经贴上代码了
    回复 有任何疑惑可以回复我~ 2018-12-29 16:07:10
  • 7七月 回复 提问者 芷1 #3
    这咋看啊。。。
    回复 有任何疑惑可以回复我~ 2019-01-01 00:28:37
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号