小程序的數(shù)據(jù)通信

一、頁面與組件通信

1.頁面?zhèn)鬟f內(nèi)容給組件

page為頁面的屬性名

components 為組件的外部屬性名, 用properties對象接收

頁面

<!-- Wxml --> 
<components-a components="{{page}}"></components-a>
<!-- Js -->
Page({
  data: {
      page: '父親pages'
  }
})

組件

'父親pages'
<!-- Wxml --> 
<!-- Js -->
Component({
  /**
   * 組件的屬性列表
   */
  properties: {
    components: { // 屬性名
      type: String
    }
  },
  /**
   * 組件的方法列表
   */
  methods: {
    onTap: function () {
      let page = this.data.components
      console.log(page)  // 我是父親pages
    }
  }
})

2.組件傳遞內(nèi)容給頁面
給組件設(shè)置myevent事件坏逢,通過this.triggerEvent('myevent', myEventDetail) 觸發(fā)該myevent事件并傳遞內(nèi)容蓖捶,在頁面用onMyEventshi事件監(jiān)聽傳遞過來的數(shù)據(jù)绊谭。

頁面

<!-- Wxml --> 
<components-a bind:myevent="onMyEvent"></components-a>
<!-- Js -->
Page({
  // 監(jiān)聽myevent事件
  onMyEvent: function (e) {
    console.log('接收a組件傳遞的內(nèi)容:', e.detail) // '我是a組件'
  }
})

組件

<!-- Wxml -->
<!-- 在自定義組件"components-a"中 -->
<button bindtap="onTap">點擊</button>
<!-- Js -->
Component({
  properties: {}
  methods: {
    onTap: function(){
      var myEventDetail = '我是a組件'
      this.triggerEvent('myevent', myEventDetail) // 觸發(fā)組件上的“myevent”事件
    }
  }
})

二伏伐、組件與組件通信
1.兩個無任何關(guān)聯(lián)的組件:通過全局變量或本地緩存?zhèn)鬟f數(shù)據(jù)桩警;

2.兩個有關(guān)聯(lián)的組件(同一個父頁面下): 通過組件 => 頁面 => 組件的方式傳遞數(shù)據(jù)

三炒瘸、頁面之間的通信

1.使用全局變量 app.globalData

2.使用本地緩存 wx.setStorageSync

3.url傳遞

// A頁面-傳遞數(shù)據(jù)
// 需要注意的是捞慌,wx.switchTab 中的 url 不能傳參數(shù)耀鸦。
wx.navigateTo({
  url: '../pageD/pageD?name=raymond&gender=male'
})


// B頁面-接收數(shù)據(jù)
// 通過onLoad的option
<!-- JS -->
...
Page({
  onLoad: function(option){
    console.log(option.name + 'is' + option.gender) //  raymond is male
    this.setData({
      option: option
    })
  }
})

4.后一級頁面對前一級頁面的數(shù)據(jù)的管理(通過獲取到頁面對象進行數(shù)據(jù)操作)

這個方法的精髓,是通過獲取到其他頁面的對象原型啸澡,然后通過原型方法 setData 對當前對象管理的 data 進行修改袖订,

示例如下:

// pageE.js
Page({
  data: {
    index: 1
  }
})

當跳轉(zhuǎn)到下一個頁面 F 之后,假定在 F 中有操作需要對 E 中的數(shù)據(jù)有修改嗅虏,則可以使用以下方法:

// pageF.js
...
Page({
  changeIndexInE: function(){
    var pages = getCurrentPages();
    var prevPage = pages[pages.length - 2];
    prevPage.setData({
      index: 0
    })
  }
})

這個方法可以操作頁面堆棧里面的頁面的數(shù)據(jù)洛姑,可以做到讓后一級頁面對上級頁面群的數(shù)據(jù)管理

參考鏈接:愛范兒-頁面之間的數(shù)據(jù)傳遞

四皮服、頁面與模板之間的通信

頁面

<!-- Wxml -->
<template is="msgItem" data="{{...item}}"/>
  
<!-- JS -->
Page({
  data: {
    item: {
      index: 0,
      msg: 'this is a template',
      time: '2016-09-15'
    }
  }
})

傳入模板的除了變量楞艾,還可以是事件方法對象。例如冰更,模板中的點擊事件产徊,可以傳遞到使用模板的元素中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜀细,一起剝皮案震驚了整個濱河市舟铜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奠衔,老刑警劉巖谆刨,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塘娶,死亡現(xiàn)場離奇詭異,居然都是意外死亡痊夭,警方通過查閱死者的電腦和手機刁岸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來她我,“玉大人虹曙,你說我怎么就攤上這事》撸” “怎么了酝碳?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恨狈。 經(jīng)常有香客問我疏哗,道長,這世上最難降的妖魔是什么禾怠? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任返奉,我火速辦了婚禮,結(jié)果婚禮上吗氏,老公的妹妹穿的比我還像新娘芽偏。我一直安慰自己,他們只是感情好弦讽,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布哮针。 她就那樣靜靜地躺著,像睡著了一般坦袍。 火紅的嫁衣襯著肌膚如雪十厢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天捂齐,我揣著相機與錄音蛮放,去河邊找鬼。 笑死奠宜,一個胖子當著我的面吹牛包颁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播压真,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼娩嚼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了滴肿?” 一聲冷哼從身側(cè)響起岳悟,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贵少,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呵俏,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年滔灶,在試婚紗的時候發(fā)現(xiàn)自己被綠了普碎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡录平,死狀恐怖麻车,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斗这,我是刑警寧澤绪氛,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站涝影,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏争占。R本人自食惡果不足惜燃逻,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望臂痕。 院中可真熱鬧伯襟,春花似錦、人聲如沸握童。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽澡绩。三九已至稽揭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肥卡,已是汗流浹背溪掀。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留步鉴,地道東北人揪胃。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像氛琢,于是被迫代替她去往敵國和親喊递。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,323評論 25 707
  • 1阳似、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,988評論 3 119
  • 世界杯開賽在即骚勘,俄羅斯之夜讓世界為之矚目,披荊斬棘擊敗各自對手殺入世界杯決賽圈的32強撮奏,大力神杯究竟花落誰家调鲸,萬眾...
    逐小墨閱讀 801評論 0 3
  • 零盛杰、軟件功用和我使用背景 線上app需要給用戶發(fā)紅包。日活三五百的app藐石,考慮到日活十萬已經(jīng)極限了即供。 先前做過多種...
    晚唐楓葉閱讀 352評論 0 0
  • 風(fēng)是從西邊吹來的 ——我卻更喜歡叫它歸者 ——是他國鄉(xiāng)野的一片來不及落下的梧桐葉 搖晃著,打破了沉寂 從此上路 經(jīng)...
    城子玄閱讀 225評論 0 0