HTML5技术

微信小程序开发日记——高仿知乎日报(中) - iyifei(5)

字号+ 作者:H5之家 来源:H5之家 2017-01-04 18:02 我要评论( )

分享肯定是做不了啦,哈哈,但是效果还是需要有的,就一个modal弹窗,显示各类社交应用的图标就行啦。 modal class= "modal" confirm-text= "取消" no-cancel hidden= "{{modalHidden}}" bindconfirm= "hideModalEv

分享肯定是做不了啦,哈哈,但是效果还是需要有的,就一个modal弹窗,显示各类社交应用的图标就行啦。

<modal class="modal" confirm-text="取消" no-cancel hidden="{{modalHidden}}" bindconfirm="hideModalEvent"> <view class="share-list"> <view class="item"><image src="../../images/share_qq.png" /></view> <view class="item"><image src="../../images/share_pengyouquan.png" /></view> <view class="item"><image src="../../images/share_qzone.png" /></view> </view> <view class="share-list" style="margin-top: 20rpx"> <view class="item"><image src="../../images/share_weibo.png" /></view> <view class="item"><image src="../../images/share_alipay.png" /></view> <view class="item"><image src="../../images/share_plus.png" /></view> </view> </modal>

model的隐藏和显示都是通过hidden属性来控制。

底部工具栏中还有一个按钮是刷新,其实就是一个重新调用接口请求数据的过程而已。

//重新加载数据 reloadEvent: function() { loadData.call( this ); },

评论页面

评论页面蛮简单的,就是展示评论列表,但是要展示两部分,一部分是长评,另一部分是短评。长评跟短评的布局都是通用的。进入到评论页面时,如果长评有数据,则先加载长评,短评需要用户点击短评标题才加载,否则就直接加载短评。这需要上一个详情页面中传递日报的额外信息过来(即长评数量和短评数量)。

之前已经在日报详情页面中,顺便加载了额外的信息

//请求日报额外信息(主要是评论数和推荐人数) requests.getStoryExtraInfo( id, ( data ) => { _this.setData( { extraInfo: data }); });

在跳转到评论页面的时候顺便传递评论数量,这样我们就不用在评论页面在请求一次额外信息了。

//跳转到评论页面 toCommentPage: function( e ) { var storyId = e.currentTarget.dataset.id; var longCommentCount = this.data.extraInfo ? this.data.extraInfo.long_comments : 0; //长评数目 var shortCommentCount = this.data.extraInfo ? this.data.extraInfo.short_comments : 0; //短评数目 //跳转到评论页面,并传递评论数目信息 wx.navigateTo( { url: '../comment/comment?lcount=' + longCommentCount + '&scount=' + shortCommentCount + '&id=' + storyId }); }

评论页面接受参数

//获取传递过来的日报id 和 评论数目 onLoad: function( options ) { var storyId = options[ 'id' ]; var longCommentCount = parseInt( options[ 'lcount' ] ); var shortCommentCount = parseInt( options[ 'scount' ] ); this.setData( { storyId: storyId, longCommentCount: longCommentCount, shortCommentCount: shortCommentCount }); },

进入页面立刻加载数据

//加载长评列表 onReady: function() { var storyId = this.data.storyId; var _this = this; this.setData( { loading: true, toastHidden: true }); //如果长评数量大于0,则加载长评,否则加载短评 if( this.data.longCommentCount > 0 ) { requests.getStoryLongComments( storyId, ( data ) => { console.log( data ); _this.setData( { longCommentData: data.comments }); }, () => { _this.setData( { toastHidden: false, toastMsg: '请求失败' }); }, () => { _this.setData( { loading: false }); }); } else { loadShortComments.call( this ); } } /** * 加载短评列表 */ function loadShortComments() { var storyId = this.data.storyId; var _this = this; this.setData( { loading: true, toastHidden: true }); requests.getStoryShortComments( storyId, ( data ) => { _this.setData( { shortCommentData: data.comments }); }, () => { _this.setData( { toastHidden: false, toastMsg: '请求失败' }); }, () => { _this.setData( { loading: false }); }); }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 微信小程序的机会在于重新理解群组与二维码 - 腾讯攻城师lee

    微信小程序的机会在于重新理解群组与二维码 - 腾讯攻城师lee

    2017-01-04 18:03

  • 微信小程序开发日记——高仿知乎日报(上) - iyifei

    微信小程序开发日记——高仿知乎日报(上) - iyifei

    2017-01-04 08:02

  • 如何为你的微信小程序体积瘦身? - 腾讯攻城师lee

    如何为你的微信小程序体积瘦身? - 腾讯攻城师lee

    2017-01-03 13:00

  • 体验报告:微信小程序在安卓机和苹果机上的区别 - 腾讯攻城师lee

    体验报告:微信小程序在安卓机和苹果机上的区别 - 腾讯攻城师lee

    2017-01-01 11:02

网友点评
o