1

Nativescript Angularを使用するTabBarアプリです。選択したタブに基づいてアクションバーのボタンを変更したいと思います。 私はこのチュートリアルにちょうど従います。https://www.youtube.com/watch?v=7go3L70QfIQNativescript Angularの各タブのアクションバーを変更する方法

しかし、TabView.selectedIndexChangedEventをAngularで使用する方法はわかりません。 誰でもこれを行っている場合は、コードを共有してください。角度ベースのアプリケーションでselectedIndexChangeイベントを使用する方法についての基準となる

おかげ

答えて

1

を使用しています。タブ変更が発生すると、Logicは通知を送信します。タブインデックスに基づいて、私はアクションバーボタンのタップイベントメソッドを決定することができます。

// send notify to child components 
    let message = { 
     "tabIndex" : this.tabIndex, 
     "tappedButton" : "someButton" 
    }; 
    this.notifyService.send(JSON.stringify(message)); 
1

使用this example

例えば

:私はrxjs /観察可能な通知を使用して問題を解決

<TabView selectedIndex="0" (selectedIndexChange)="onIndexChanged($event)"> 
<!-- more code follows here --> 

そしてコンポーネントファイルにonIndexChangedコールバック

public onIndexChanged(args) { 
    let tabView = <TabView>args.object; 
    console.log("Selected index changed! New inxed: " + tabView.selectedIndex); 
} 
+0

こんにちはニック、はい私はすでにその例に従っています。 tab.component.tsでタブインデックスを取得できます。しかし、私の質問は、選択したタブインデックスに基づいてナビゲーションバーの項目を変更する方法です。私のアプリは3つのタブを持っていると思う。各タブには異なるレイアウトファイルがあります。今、私は最初のタブとそれぞれのアクションメソッドのアクションバーに "検索"ボタンを持っています。 2番目のタブの "編集"ボタンなど...私はどのようにそれを達成することができますか? – sajaz

+0

'selectedIndexChange'に「接続」すると、定義済みのActionBar Itemsを表示/非表示できます - 例はここに表示されています:https://docs.nativescript.org/ui/action-bar#hiding-action-items –

+0

うん、私はTab.component.tsで何でもできます。しかし、子コンポーネントのアクションバーのボタンのタップメソッドを検出する方法は? – sajaz

関連する問題