【详细】小程序发微博功能实现

跳转页面发状态消息,是一个很常见的功能,功能截图如下:

 

具体实现,这个功能涉及到了page传递参数功能,那么今天就仔细探究一下如何实现

首先,这个功能涉及两个页面,分别为top和list

先看list页面,即图片1和图片4,该页面的布局如下

<!--pages/weibo/list/list.wxml-->
<view>这是第一条微博</view>
<view wx:for = "{{weibos}}">
{{item}}
</view>
<button type="primary" bindtap="writeweibo">发微博</button>

button绑定了一个writeweibo函数,那么该函数需要在js文件中实现
由于页面简单,这里不涉及wxss

接着就是list.js,查看js文件

这里有button绑定的writeweibo函数,本质跳转top页面

Page({

  /**
   * 页面的初始数据
   */
  data: {
    weibos: []
  },

  writeweibo: function (event){
    wx.navigateTo({
      url: '/pages/weibo/top/top'
    })
  },
})

 

下面是跳转后的top页面,即图片2,3

<!--pages/weibo/top/top.wxml-->
<view>
  <form bindsubmit="submitEvent">
    <textarea name="content" placeholder="请输入内容" />
    <button form-type="submit">提交</button>
  </form>
</view>

这里placeholder是提示信息的显示,可以看到提交button也绑定了一个submit的方法

// pages/weibo/top/top.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
  
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

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

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  submitEvent:function(event){
    var content = event.detail.value.content;
    var pages = getCurrentPages();  // 获取当前页面信息
    var page = pages[0];
    var weibos = page.data.weibos;  // 获取数据中的weibo参数
    weibos.push(content); 
    // 修改数据
    page.setData({
      weibos:weibos
    })

    wx.navigateBack({  //返回上一级页面
     })
    
  }
})

以上是top.js,这里可以看到submitEvent方法,获取当前页面信息,获取weibo参数,再通过setData修改数据,最后navigateBack返回上一级页面,即list页面

 

这个功能就实现了!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章