• 微信小程序实战–集阅读与电影于一体的小程序项目(六)


    24.更多电影

    app.json

    "pages": [    "pages/posts/post",    "pages/welcome/welcome",    "pages/posts/post-detail/post-detail",    "pages/movies/movies",    "pages/movies/more-movie/more-movie"  ],

    more-list-template.wxml

     <view class="more" catchtap='onMoreTap' data-category="{{categoryTitle}}">          <text class="more-text">更多</text>          <image class="more-img" src="/images/icon/arrow-right.png"></image>        </view>

    movies.js

     onMoreTap:function(event){    var category = event.currentTarget.dataset.category;    wx.navigateTo({      url: 'more-movie/more-movie?category=' + category    })  },

    more-movie.js

    // pages/movies/more-movie/more-movie.jsPage({  onLoad: function (options) {    var category = options.category;    console.log(category);  },})

    分别点击更多,可以看到对应的分类

    25.动态设置导航栏标题

    more-movie.js

    // pages/movies/more-movie/more-movie.jsPage({  data:{    categoryTitle: '',  },  onLoad: function (options) {    var category = options.category;    this.data.categoryTitle = category;    console.log(category);  },  onReady: function () {    wx.setNavigationBarTitle({      title: this.data.categoryTitle,    })  },})

    26.更多电影页面数据加载

    util.js

    function http(url, callback) {  wx.request({    url: url,    method: 'GET',    header: {      'content-type': 'json'     },    success: function (res) {      callback(res.data)    }  })}module.exports = {  convertToStarArray: convertToStarArray,  http: http,};

    more-movie.js

    var util = require('../../../utils/util.js')var app = getApp();Page({  data:{    categoryTitle: '',    movies: {},  },  onLoad: function (options) {    var category = options.category;    this.data.categoryTitle = category;    var dataUrl = ''    switch (category) {      case "正在热映":        dataUrl = app.globalData.g_baseUrl + "/v2/movie/in_theaters";        break;      case "即将上映":        dataUrl = app.globalData.g_baseUrl + "/v2/movie/coming_soon";        break;      case "豆瓣Top250":        dataUrl = app.globalData.g_baseUrl + "/v2/movie/top250";        break;    }    util.http(dataUrl, this.processDoubanData)  },  processDoubanData:function(data){    var movies = [];    for (var idx in data.subjects) {      var subject = data.subjects[idx]      var title = subject.title;      if (title.length >= 6) {        title = title.substring(0, 6) + "...";      }      var temp = {        stars: util.convertToStarArray(subject.rating.stars),        title: title,        average: subject.rating.average,        coverageUrl: subject.images.large,        movieId: subject.id      }      movies.push(temp)    }    this.setData({      movies: movies    });  },  onReady: function () {    wx.setNavigationBarTitle({      title: this.data.categoryTitle,    })  },})

    movie-grid-template.wxml

    <import src="../movie/movie-template.wxml" /><template name="movieGridTemplate">  <view class="grid-container">    <block wx:for="{{movies}}" wx:for-item="movie">      <view class="single-view-container">        <template is="movieTemplate" data="{{...movie}}" />      </view>    </block>  </view></template>

    movie-grid-template.wxss

    @import "../movie/movie-template.wxss";/*scroll-view*/.single-view-container{    float:left;    margin-bottom: 40rpx;}.grid-container{    height: 1300rpx;    margin:40rpx 0 40rpx 6rpx;}

    more-movie.wxml

    <import src="../movie-grid/movie-grid-template.wxml" /><template is="movieGridTemplate" data="{{movies}}" />

    more-movie.wxss

    @import "../movie-grid/movie-grid-template.wxss";

    预览

     
     
     
  • 相关阅读:
    JavaWeb--HttpSession案例
    codeforces B. Balls Game 解题报告
    hdu 1711 Number Sequence 解题报告
    codeforces B. Online Meeting 解题报告
    ZOJ 3706 Break Standard Weight 解题报告
    codeforces C. Magic Formulas 解题报告
    codeforces B. Sereja and Mirroring 解题报告
    zoj 1109 Language of FatMouse 解题报告
    hdu 1361.Parencodings 解题报告
    hdu 1004 Let the Balloon Rise 解题报告
  • 原文地址:https://www.cnblogs.com/gaidy/p/12106905.html
Copyright © 2020-2023  润新知