最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular 4.x+Ionic3踩坑之Ionic3.x pop反向傳值詳解

 更新時(shí)間:2018年03月13日 09:46:58   作者:前端小智  
這篇文章主要給大家介紹了關(guān)于Angular 4.x+Ionic3踩坑之Ionic3.x pop反向傳值的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

1.Ionic3.x 頁(yè)面正向傳值

關(guān)于正向傳值,上一篇文章里面有講,具體可以看這里:http://www.fzitv.net/article/136302.htm

2.Ionic3.x 頁(yè)面 pop反向傳值,主要有兩種方式

     1 .利用ES6提供 Promise 對(duì)象

     2 利用Ionic3.x提供Event對(duì)象,觀察者模式(publish/subscribe)

1)利用ES6提供 Promise 對(duì)象

這邊假設(shè)有兩個(gè)頁(yè)面A頁(yè)面, B頁(yè)面, 情景如下,A跳轉(zhuǎn)B頁(yè)面,在B頁(yè)面返回A頁(yè)面需要給A頁(yè)面選回的值。

A頁(yè)面代碼

html內(nèi)容

<button (tap)="goToBPage()">跳轉(zhuǎn)到B頁(yè)面</button>

ts 內(nèi)容:

import BPage from './BPage'
export class APage{
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
// 用于pop 回調(diào)的 block
callBackFromB =(params) => {
 return new Promise((resolve, reject) => {
 if(params){
  resolve('成功取到B頁(yè)面返回的參數(shù)');
  console.log('B頁(yè)面參數(shù)為: '+ params);
 }else{
  reject(‘取回B頁(yè)面數(shù)據(jù)失敗')
 }
 });
 }
 goToBPage (){
 this.navCtrl.push(BPage, {
 callback: this.callBackFromB
 })
 }
}

備注:Promise是由Es6提供的一個(gè)對(duì)象,new一個(gè)對(duì)象,有兩個(gè)回調(diào)函數(shù),一個(gè)是resove,一個(gè)是reject,resove是執(zhí)行成功的回調(diào),也就是我們調(diào)用 then執(zhí)行的方法, reject是執(zhí)行失敗的回調(diào),對(duì)應(yīng) 是調(diào)用 catch方法 ,現(xiàn)在es7新出一async和await,async是對(duì)Promise的進(jìn)一步封裝,詳情可具體看官方文檔!

B頁(yè)面代碼

ts 內(nèi)容:

constructor(public navCtrl: NavController, public navParams: NavParams) {
// 獲取對(duì)面A傳過(guò)來(lái)的回調(diào)方法
 this.callback = this.navParams.get("callback")
 
}
 goBack(){
 let param = '我是要給A頁(yè)面數(shù)據(jù)'
 this.callback(param).then(()=>{
 // pop返回方法
 this.navCtrl.pop();
 });
 }

1)利用Ionic3.x提供Event對(duì)象,觀察者模式(publish/subscribe)

event對(duì)象主要有3個(gè)方法

1.發(fā)布publish(topic, eventData)

`參數(shù)一是發(fā)布事件名字,第二個(gè)參數(shù)就是要發(fā)送數(shù)據(jù),其實(shí)還可以傳送第三,第四...等,都 是可以傳送數(shù)據(jù)的

2.訂閱 subscribe(topic, handler)

參數(shù)一是要接收的事件鋁管,第二個(gè)參數(shù)代表發(fā)布時(shí)傳送的參數(shù),如果發(fā)布有傳第三個(gè)參數(shù),同樣的訂閱的第三個(gè)參數(shù)就是對(duì)應(yīng)的發(fā)布的第三個(gè)參數(shù),以此類推....`

3.取消訂閱 unsubscribe(topic, handler)

參數(shù)一是要取消訂閱的事件的名稱,第二是一個(gè)回調(diào)函數(shù),返回值:如果被移除成功,返回true
實(shí)現(xiàn)反向傳值代碼如下

A頁(yè)面代碼

ts代碼

 goToBPage(){
 this.events.subscribe('bevents', (params) => {
  // 接收B頁(yè)面發(fā)布的數(shù)據(jù)
  console.log('接收數(shù)據(jù)為: '+ paramsVar);

  // 取消訂閱
  this.events.unsubscribe('bevents'); 
 })
 this.navCtrl.push(BPage);
 }

B頁(yè)面代碼

ts代碼

goBack(){
 this.navCtrl.pop().then(() => {
 // 發(fā)布 bevents事件
 this.events.publish('bevents', '我是B頁(yè)面數(shù)據(jù)');
 });
}

總結(jié)

以上主要介紹反向傳值的2種方法,當(dāng)然還有其它方法,如果你有更好 的方法,歡迎留言討論,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • AngularJS通過(guò)ng-route實(shí)現(xiàn)基本的路由功能實(shí)例詳解

    AngularJS通過(guò)ng-route實(shí)現(xiàn)基本的路由功能實(shí)例詳解

    這篇文章主要介紹了AngularJS通過(guò)ng-route實(shí)現(xiàn)基本的路由功能,結(jié)合實(shí)例形式詳細(xì)分析了AngularJS使用ng-route實(shí)現(xiàn)路由功能的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-12-12
  • 詳解angularJs指令的3種綁定策略

    詳解angularJs指令的3種綁定策略

    本篇文章主要介紹了angularJs指令的3種綁定策略,詳細(xì)的介紹了@=&的用法和實(shí)例,有興趣的可以了解一下。
    2017-04-04
  • Angular2學(xué)習(xí)教程之組件中的DOM操作詳解

    Angular2學(xué)習(xí)教程之組件中的DOM操作詳解

    這篇文章主要給大家介紹了Angular2學(xué)習(xí)教程之組件中DOM操作的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)看看吧。
    2017-05-05
  • AngularJS中的$watch(),$digest()和$apply()區(qū)分

    AngularJS中的$watch(),$digest()和$apply()區(qū)分

    這篇文章主要介紹了AngularJS中的$watch(),$digest()和$apply()區(qū)分,感興趣的朋友可以參考一下
    2016-04-04
  • AngularJS入門教程之AngularJS指令

    AngularJS入門教程之AngularJS指令

    AngularJS指令用于擴(kuò)展HTML。本文給大家介紹AngularJS入門教程之AngularJS指令,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • 詳解AngularJS 過(guò)濾器的使用

    詳解AngularJS 過(guò)濾器的使用

    AngularJS 過(guò)濾器可用于轉(zhuǎn)換數(shù)據(jù),這篇文章主要介紹了詳解AngularJS 過(guò)濾器的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 使用AngularJS編寫較為優(yōu)美的JavaScript代碼指南

    使用AngularJS編寫較為優(yōu)美的JavaScript代碼指南

    這篇文章主要介紹了使用AngularJS編寫較為優(yōu)美的JavaScript代碼指南,包括控制器和封裝等進(jìn)階技巧上的編程建議,傾力推薦!需要的朋友可以參考下
    2015-06-06
  • AngularJS中的DOM操作用法分析

    AngularJS中的DOM操作用法分析

    這篇文章主要介紹了AngularJS中的DOM操作,較為詳細(xì)的分析了AngularJS針對(duì)DOM操作的原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-11-11
  • angularjs通過(guò)過(guò)濾器返回超鏈接的方法

    angularjs通過(guò)過(guò)濾器返回超鏈接的方法

    這篇文章主要介紹了angularjs通過(guò)過(guò)濾器返回超鏈接的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 通過(guò)AngularJS實(shí)現(xiàn)圖片上傳及縮略圖展示示例

    通過(guò)AngularJS實(shí)現(xiàn)圖片上傳及縮略圖展示示例

    本篇文章主要介紹了通過(guò)AngularJS實(shí)現(xiàn)圖片上傳及縮略圖展示,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01

最新評(píng)論

香河县| 黔东| 麻江县| 土默特右旗| 临沧市| 大荔县| 卢氏县| 黔西县| 怀柔区| 黄浦区| 上林县| 玛曲县| 文水县| 松桃| 宁波市| 通山县| 丽水市| 开江县| 定边县| 周至县| 凤庆县| 十堰市| 增城市| 星座| 岢岚县| 庆元县| 当雄县| 晋宁县| 松江区| 张掖市| 资兴市| 铜山县| 甘德县| 平乐县| 石楼县| 民县| 巨鹿县| 牟定县| 正阳县| 林口县| 上思县|