如何更改Nativescript中每个选项卡的操作栏

如何更改Nativescript中每个选项卡的操作栏,nativescript,angular2-nativescript,nativescript-telerik-ui,Nativescript,Angular2 Nativescript,Nativescript Telerik Ui,我有一个使用Nativescript的TabBar应用程序。我想根据所选选项卡更改操作栏按钮。 我只是遵循这个教程 但是,我不知道如何使用TabView.selectedIndexChangedEvent。 如果有人这样做了,请分享这段代码 感谢在基于角度的应用程序中使用selectedIndexChange事件作为参考 例如: <TabView selectedIndex="0" (selectedIndexChange)="onIndexChanged($event)"> &l

我有一个使用Nativescript的TabBar应用程序。我想根据所选选项卡更改操作栏按钮。 我只是遵循这个教程

但是,我不知道如何使用TabView.selectedIndexChangedEvent。 如果有人这样做了,请分享这段代码

感谢

在基于角度的应用程序中使用selectedIndexChange事件作为参考

例如:

<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);
}
public onIndexChanged(args){
让tabView=args.object;
log(“所选索引已更改!新索引:”+tabView.selectedIndex);
}

我使用rxjs/Observable通知解决了这个问题。逻辑是在选项卡发生更改时发布通知。根据选项卡索引,我可以决定操作栏按钮点击事件方法

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

嗨,尼克,是的,我已经学过这个例子了。我可以在tab.component.ts中获取选项卡索引。但我的问题是如何根据选定的选项卡索引更改导航栏项。想想看,我的应用程序有3个标签。每个选项卡都有不同的布局文件。现在,我想在第一个选项卡和相应的操作方法的操作栏上有“搜索”按钮。第二个选项卡的“编辑”按钮,依此类推。。。如何实现这一点?一旦您“附加”到
selectedIndexChange
上,您就可以显示/隐藏预定义的ActionBar项目-示例如下:是的,我可以在Tab.component.ts中执行任何操作。但是,如何在子组件中检测操作栏按钮点击方法?如果用户点击(无论是在操作栏中还是在操作栏中),您所需要的只是跟踪点击布局的TapeEvent(例如按钮),并在回调中实现逻辑。因此,如果您需要用户在点击ActionBar按钮时更改某些内容,则您需要通过
getViewById()
methodNick lliev访问所需的布局,谢谢您的帮助。我已经解决了这个问题。我已经公布了答案。