Code前端首页关于Code前端联系我们

百度小程序开发:显示栏目列表,然后阅读每个栏目中的最新文章

terry 2年前 (2023-09-22) 阅读数 71 #移动小程序

需求:
1.在页面上显示指定栏目下的子栏目列表
2.一个栏目每个子栏下,显示最近几篇文章的列表

这个要解决问题,首先要想想如何写一个API接口。最简单的当然是界面了:在界面中创建1和2的数据。
还有一种解决办法,就是写两个接口,一个接口读取子栏目列表,一个接口读取该栏目下面的最后一篇文章列表。

以下是使用两个接口创建百度小程序列表的方案:

index.js代码:

var idArr = []
Page({
    data: {
        sortlist: [],
        artlist: []
    },
    fetchData: function () {
        swan.request({
            url: "https://xxx.com/class_list.php?id=3",
            success: res => {
                for (var i in res.data) {
                    idArr.push(res.data[i].id)
                }
                this.setData({
                    sortlist: res.data
                })
                setTimeout(() => {
                    for (var n in idArr) {
                        this.dcm(idArr[n],n)
                    }
                }, 500)
            }
        })
    },
    dcm: function (id,n) {
        swan.request({
            url: "https://xxx.com/article_list.php",
            data: { id: id },
            success: res => {
                for (var i in this.data.sortlist) {
                if(i == n)
                    this.data.sortlist[i].artList = res.data
                }
                this.setData({
                    sortlist: this.data.sortlist
                })
            }
        })
    },
    onLoad: function () {
        this.setData({
            hidden: false
        })
        this.fetchData();
    },
    globalData: 'SWAN'
});

index.swan代码:

<block s-for="sortlist">
    <navigator url='/pages/list/index?id={{item.classid}}'>
        <view><text>{{item.classname}}</text></view>
    </navigator>

    <block s-for="items in item.artList">
        <navigator url='/pages/article/index?id={{items.id}}'>
            <view><text>{{items.title}}</text></view>
        </navigator>
    </block>
</block>

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门