我正在创建一个跨平台的应用程序。我有一个TabView组件,必须在向服务器发送一些值后刷新一个选项卡。当我登录ngOnInit时,会动态设置选项卡的内容,但是当我将数据发送到服务器并导航到摘要页面时,不再调用ngOnInit,因此内容永远不会更改。 有想法吗?
这是我的代码的一部分
home.component.ts
ngOnInit(){
this.homeService.getPrenotazioni().subscribe((res) => {
var layout = <StackLayout>this.page.getViewById("prenotazioni");
//...set content...
};
}
tabs.component.html
<GridLayout>
<TabView androidTabsPosition="bottom">
<page-router-outlet *tabItem="{title: 'Home'}" name="homeTab"></page-router-outlet>
<page-router-outlet *tabItem="{title: 'Prenota Ritiro'}" name="prenotaritiroTab"></page-router-outlet>
<!-- other tabs -->
</TabView>
</GridLayout>
当我从“ Prenota ritiro”标签发送数据并转到“主页”标签时,我想刷新“主页”标签的内容
答案 0 :(得分:0)
您是否考虑过在路由器配置中使用onSameUrlNavigation?如果您正在使用标签中的路由器插座,那么您应该可以完成这项工作。
@ngModule({
imports: [RouterModule.forRoot(routes, {onSameUrlNavigation: ‘reload’})],
exports: [RouterModule],
})
答案 1 :(得分:0)
听起来好像本机脚本页面和角度组件的生命周期不一样。如何在页面的navigatingTo事件中设置订阅?