微信小程序从前端wxml页面数据获取,到JS页面数据对象字符化,传递给后台,前台再从后台获取数据并在wxml页面动态展示数据(前后台交互实现发表动态功能)

页面:

事件是视图层到逻辑层的通讯方式。 事件可以将用户的行为反馈到逻辑层进行处理。
事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
事件对象可以携带额外信息,如 id, dataset,。

可以在微信页面使用列表来动态展示数据,然后将动作绑定在列表的每一个元素上面,同时给JS传递相应的data或者dataset。
(1)在wxml页面输入数据,使bindinput实时监听input的输入

 <input type="text" placeholder="写一条自己的动态吧~" name="search" value="" placeholder-class="plac"  bindinput="inputValue" />
</view>

(2)在JS页面获取在wxml页面输入的数据

/**输入函数 */
  inputValue: function (event) {
    this.setData({
      inputValue: event.detail.value
    })
    console.log(this.data)
    console.log(event.detail.value)
  },

(3)将JS获取的数据发送给后台

 var content = that.data.inputValue;
      var time = that.data.time;
      var radio = that.data.radio;
      wx.request({
        url: app.globalData.url + '/zonepost',
        method: "POST",
        data: {
          userid: wx.getStorageSync("userid"),
          userhead:wx.getStorageSync("imageurl"),
          username:wx.getStorageSync("nickname"),
          radio: radio,
          time: time,
          content: content
        },
        header: {
          "Content-Type":"application/x-www-form-urlencoded"
        },
        success: (res) => {
          console.log(res.data);
          
        },
      })

在这里插入图片描述
(4)获取向后台发送的数据,将从后台获取的数据存放在result数组里

 var that = this
    //当页面加载时请求数据
    wx.request({
      url: '*******************',
      method: "POST",
      header: {
        'content-type': 'application/x-www-form-urlencoded',
      },

      success(res) {
        console.log(res)
        that.setData({
           result: res.data
        })

      }
    })

    console.log(that.data)
    
  },

(5)在wxml页面动态展示数据
文中的语法 <view wx:for="{{result}}" wx:for-item="item">是for循环,item是每次循环的元素

 <view wx:for="{{result}}" wx:for-item="item">
<view class='condition'>
<view class='condition_word'>
 <image src='{{item.userhead}}' class='condition_img2'></image> 
   <view class='condition_txt'> 
     <view class='condition_dktitle'>
     <text style='font-size:28rpx'>{{item.title}}</text>
    </view> 
    <view>
   <text style='font-size:25rpx;color:grey'>{{item.tim}}  </text>
   </view> 
 </view>
</view> 
 <view class='condition_neirong' bindtap='readcd'>
<text style='font-size:30rpx;color:grey'><text class='txt_tiaozhuan' bindtap='readcd'>{{item.content}}</text>
</text>
</view>  
 <image src='{{item.img}}' class='condition_img'></image> 
 <view class='condition_word'>
</view>

在这里插入图片描述

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值