1、外部文件 /util/util.js
function convertToStarsArray(stars) { //把星级存到数组中
var num = stars.toString().substring(0, 1);
var array = [];
for (var i = 1; i <= 5; i++) {
if (i <= num) {
array.push(1);
}
else {
array.push(0);
}
}
return array;
}
module.exports = {
convertToStarsArray: convertToStarsArray
}2、pages/movies/movies.wxml
var util = require('../../utils/util.js')
...
processDoubanData: function (moviesDouban, settedKey, categoryTitle){
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 = { //所有数据放到temp中
stars: util.convertToStarsArray(subject.rating.stars),
title: title,
average: subject.rating.average,
coverageUrl: subject.images.large,
movieId: subject.id
}
movies.push(temp) //所有数据存储到movies中
var readyData = {};
readyData[settedKey] = {
categoryTitle: categoryTitle,
movies: movies
}
this.setData(readyData);
}
}3、星级评分思路:把分数转换为数组 如共5星 若有3星 则数组为[1,1,0]
wxml文件使用wx.if进行判断并显示
<view class="stars">
<block wx:for="{{stars}}" wx:for-item="i">
<image wx:if="{{i}}" src="/images/icon/star.png"></image>
<image wx:else src="/images/icon/none-star.png"></image>
</block>
</view>注意:data传值新方法 (movie传star)
<template is="starsTemplate" data="{{stars:stars, score: average}}"/>
1012

被折叠的 条评论
为什么被折叠?



