请稍等 ...
×

采纳答案成功!

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

正在回答

3回答

你确定模拟器上可以真机上不行吗? 如果确实是这样,可能是因为读取缓存造成的。因为看你的错误提示,很多是语法错误,有些值没有取到。我建议你可以把课程的源码拿下来对比一下,也可以在真机上运行下课程的源码。

0 回复 有任何疑惑可以回复我~
  • 提问者 女神旭 #1
    首先在真机上的显示是空白页(就电影页面)。如果语法有错应该导致渲染失败的,我和源码比对过,找不出哪里有问题。this.setData()和this.setData({ })这里感觉有点问题。
    回复 有任何疑惑可以回复我~ 2017-09-28 21:11:35
  • 7七月 回复 提问者 女神旭 #2
    我从来没遇到过 模拟器可以运行但是真机直接 空白的情况。而且真机上也确实给你了错误提示。
    回复 有任何疑惑可以回复我~ 2017-09-28 21:47:53
  • 提问者 女神旭 回复 7七月 #3
    错误提示?我真的是分析不出错的原因,脑瓜疼。。。真机不能运行不成功,肯定就是渲染错误提示那里的问题。但我找了好久都没发现哪里代码不对啊。。。
    回复 有任何疑惑可以回复我~ 2017-09-28 22:07:07
提问者 女神旭 2017-09-29 08:49:08

真机错误提示图

https://img1.sycdn.imooc.com/szimg//59cd987f0001f91506401136.jpg

0 回复 有任何疑惑可以回复我~
提问者 女神旭 2017-09-28 21:15:10
movie js

onLoad:function(event){

          var intheatersUrl = app.globalData.doubanBase + "/v2/movie/in_theaters" + "?star=0&count=3";

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

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

         this.getMoviesList(intheatersUrl,"intheaters");

         this.getMoviesList(comingSoonUrl,"comingSoon");

         this.getMoviesList(top250Url,"top250");

    },


    getMoviesList:function(url,settedKey){

         var that = this;

         wx.request({

              url: url,

              method: 'GET',

              header: {

                   "content-Type": "application/wxml",

              },

              success: function (res) {

                   console.log(res);

                   that.processdoubanData(res.data, settedKey);

              },

              fail: function (res) {

                   console.log("failed");

              }

         })

    },


    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 = {

                   title : title,

                   average : subject.rating.average,

                   coverageUrl : subject.images.large,

                   movieId : subject.id

              };

              movies.push(temp);

         }

         var readyData ={};

         readyData[settedKey] = {

              movies : movies

         };

         // this.setData({

         //      movieLists : readyData

         // });

         this.setData(readyData);

    }


movie wxmld代码

    <view class='movies-template'>

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

    </view>

    <view class='movies-template' >

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

    </view>

    <view class='movies-template'>

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

    </view>


movie-list-template 代码

              <view class='movies-container'>

                   <block wx:for="{{movies}}" wx:for-item="movie">

                        <template data="{{...movie}}" is="movieTemplate" />

                   </block>

              </view>


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信