1. 程式人生 > >小程式自定義事件與頁面載入

小程式自定義事件與頁面載入

小程式接收自定義事件結果與頁面載入是有先後順序的,接收事件結果頁面載入結果的。如何才能將接收的事件結果更新到頁面呢?看下面例子:

1.自定義事件
初始化事件名稱:contactevent

var contacts = [1,2,3]
var iscontact = (contacts.length==0?'false':'true')
var myEventDetail = { iscontact: iscontact} // detail物件,提供給事件監聽函式
this.triggerEvent("contactevent", myEventDetail);

2.接收事件
繫結事件:contactevent

data:{
iscontact:""
}
<chatlist show='{{show}}' bind:contactevent='showContact' caInnercode='{{caInnercode}}'/>
<view>{{iscontact}}</view>

獲取事件結果

showContact: function (e) {
    var iscontact = e.detail.iscontact
    this.setData(iscontact)
 }

這時載入頁面{{iscontact}} 是空。

3.重新載入事件結果

data:{
    iscontact:"",
    ds:{}
}
onShow: function () {
    ds.iscontact='true'
    this.setData(ds)
}
 showContact: function (e) {
    var iscontact = e.detail.iscontact+""
    var ds = this.data.ds
    ds.iscontact = iscontact
    this.setData(ds)
  },

onShow 載入對ds賦值,獲取監聽結果重新ds賦值,導致頁面重新載入資料,這樣就可以實時獲取監聽資料了。

歡迎大家可以關注我,聯絡我進行技術討論。