zoukankan      html  css  js  c++  java
  • 微信小程序实战–集阅读与电影于一体的小程序项目(七)

    27.实现上滑加载更多数据

    movie-grid-template.wxml

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

    more-movie.js

    var util = require('../../../utils/util.js')var app = getApp();Page({  data:{    categoryTitle: '',    movies: {},    requsetUrl: '',    isEmpty: true,    totalCount: 0  },  onLoad: function (options) {    .    .    .    this.data.requsetUrl = dataUrl;    util.http(dataUrl, this.processDoubanData)  },  processDoubanData:function(data){   .   .   .       var totalMovies = {}    if (!this.data.isEmpty) {      totalMovies = this.data.movies.concat(movies)    } else {      totalMovies = movies      this.data.isEmpty = false    }    this.setData({      movies: totalMovies    })    this.data.totalCount += 20;  },  onScrollLower:function(event){    var nextUrl = this.data.requsetUrl +     "?start=" + this.data.totalCount + "&count=20";    util.http(nextUrl,this.processDoubanData)  },

    28.设置loading状态

    more-movie.js

    onScrollLower: function (event) {    var nextUrl = this.data.requsetUrl +      "?start=" + this.data.totalCount + "&count=20";    util.http(nextUrl, this.processDoubanData);    wx.showNavigationBarLoading()  },    processDoubanData:function(data){    .    .        this.setData({      movies: totalMovies    })    this.data.totalCount += 20;    wx.hideNavigationBarLoading()  },

    29.实现下拉刷新

    more-movie.json

    {  "enablePullDownRefresh": true}

    more-movie.js

    onPullDownRefresh: function () {    var refreshUrl = this.data.requsetUrl +      "?star=0&count=20";    this.data.movies = {};    this.data.isEmpty = true;    this.data.totalCount = 0;    util.http(refreshUrl, this.processDoubanData);    wx.showNavigationBarLoading();  },  processDoubanData:function(data){    .    .    .    this.data.totalCount += 20;    wx.hideNavigationBarLoading()    wx.stopPullDownRefresh()  },

    30.电影搜索功能实现

    movies.wxml

    <import src="movie-list/movie-list-template.wxml" /><import src="movie-grid/movie-grid-template.wxml" /><view class="search">  <icon type="search" class="search-img" size="13" color="#405f80"></icon>  <input type="text" placeholder="西虹市首富" placeholder-class="placeholder" bindfocus="onBindFocus" bindconfirm="onBindBlur"/>   <image wx:if="{{searchPanelShow}}" src="/images/icon/xx.png" class="xx-img" bindtap="onCancelImgTap"></image> </view>..<view class="search-panel" wx:if="{{searchPanelShow}}">    <template is="movieGridTemplate" data="{{...searchResult}}"/></view>

    movies.wxss

    @import "movie-grid/movie-grid-template.wxss";.search {  background-color: #f2f2f2;  height: 80rpx;   100%;  display: flex;  flex-direction: row;}.search-img {  margin: auto 0 auto 20rpx;}.search input {  height: 100%;   600rpx;  margin-left: 20px;  font-size: 28rpx;}.placeholder {  font-size: 14px;  color: #d1d1d1;  margin-left: 20rpx;}.search-panel{    position:absolute;    top:80rpx;}.xx-img{    height: 30rpx;     30rpx;    margin:auto 0 auto 10rpx;}

    movies.js

    Page({  data: {    inTheaters: {},    comingSoon: {},    top250: {},    searchResult: {},    containerShow: true,    searchPanelShow: false  },    onBindFocus: function (event) {    this.setData({      containerShow: false,      searchPanelShow: true    })  },  onCancelImgTap: function (event) {    this.setData({      containerShow: true,      searchPanelShow: false,      searchResult: {}    })  },    onBindBlur: function (event) {    var text = event.detail.value    var searchUrl = app.globalData.g_baseUrl + "/v2/movie/search?q=" + text;    this.getMovieList(searchUrl, "searchResult", "");  },    

    结果

     
     
     
  • 相关阅读:
    Ajax
    事件委托
    事件对象
    js的基础类型与引用类型
    Javascript和HTML dom
    用jQuery写的最简单的表单验证
    初学HTML5的一点理解
    CMake 入门
    centos7上rpm安装wkhtmltopdf
    centos7 下安装思源黑体字体
  • 原文地址:https://www.cnblogs.com/gaidy/p/12106909.html
Copyright © 2011-2022 走看看