收藏
回答

小程序自定义组件里面发送http请求数据没有办法set到data里面?

项目的基本设置

index.json

{
  "usingComponents": {
    "column": "/pages/column/column"
  }
}


index.wxml

<column></column>



自定义组件

column.js

let that;
Page({

    /**
     * 页面的初始数据
     */
    data: {
        column_list: [],
        test:"1"
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        that = this;
        that.getColumnList();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        var data=this.getData()
        console.log(data)
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    /**
     * 获取栏目列表
     */
    getColumnList: function () {
        wx.request({
            url: "http://127.0.0.1:8081/client/column/list",
            method: "POST",
            data: {},
            success(res) {
                console.log(res)
                that.setData({
                    column_list: res.data.data,
                    test:"2"

                })
                return res.data.data;
            }
        })
    },
    getData:function (){
        let data=this.getData();
        console.log(data);
    }
})

column.wxml

<text>{{test}}</text>
<button bindtap="getData">fd</button>
<view class="bg-white">
    <view class="cf padding column-item" wx:for="{{getColumnList}}" wx:for-item="column" wx:key="index">
        <view class="fl padding-sm column-title">{{column.column_name}}</view>
        <view class="fr padding-sm">查看更多></view>
        <view class="column-item">
            <swiper class="card-swiper round-dot" indicator-dots="true" circular="true" autoplay="true" interval="5000" duration="500">
                <swiper-item wx:for="{{column.column_item}}" wx:for-item="item" wx:key="index">
                    <image src="{{item.recipe_cover}}" mode="aspectFill"></image>
                </swiper-item>
            </swiper>
        </view>
    </view>
</view>


setdata不成功

test的值还是1





回答关注问题邀请回答
收藏

3 个回答

  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2022-04-09

    代码也有问题

    2022-04-09
    有用
    回复
  • 萧潇墨
    萧潇墨
    2022-04-08

    问题已解决 谢谢大家

    没仔细看文档  直接上手撸 找到问题  首先这里不是Page 其次我json没有配置 component:true

    2022-04-08
    有用
    回复
  • 再见,电脑崽
    再见,电脑崽
    2022-04-08

    res打印出结果是否正常

    2022-04-08
    有用
    回复 6
    • 萧潇墨
      萧潇墨
      2022-04-08
      不正常  但是接口请求是正常的 res直接没有打出来  我直接写在index页面上是正常的 封装成自定义组件就不正常了
      2022-04-08
      回复
    • 萧潇墨
      萧潇墨
      2022-04-08
      2022-04-08
      回复
    • 萧潇墨
      萧潇墨
      2022-04-08
      刚才这个请求是index页面发送的 我现在注释掉了  也就是说我的子组件走进去以后直接没有触发发送请求这一步骤
      2022-04-08
      回复
    • 再见,电脑崽
      再见,电脑崽
      2022-04-08回复萧潇墨
      我怎么没见过Page定义的自定义组建,难道不应该是这样的结构么?
      2022-04-08
      回复
    • 萧潇墨
      萧潇墨
      2022-04-08回复再见,电脑崽
      没仔细看文档  直接上手撸 找到问题  首先这里不是Page 其次我json没有配置 component:true
      2022-04-08
      回复
    查看更多(1)
登录 后发表内容