angular - 选项卡 Ionic 4 中的插槽绑定
问题描述
为什么不能绑定 ion-tab-bar 的 slot 属性?仅当平台是移动的时,我才想将标签栏放在底部,但这不起作用。有什么解决办法吗?
我的 panel.page.html:
<ion-tab-bar [slot]="tabsPlacement">
<ion-tab-button tab="foo">
<ion-label>
Foo
</ion-label>
</ion-tab-button>
<ion-tab-button tab="bar">
<ion-label>
Bar
</ion-label>
</ion-tab-button>
</ion-tab-bar>
我的 panel.page.ts 文件:
export class PanelPage implements OnInit {
tabsPlacement: string = 'bottom';
constructor(
public platform: Platform,
) {
if (!this.platform.is('mobile')) {
this.tabsPlacement = 'top';
}
}
ngOnInit() {
}
}
此外,问题与平台检测无关。问题的核心与 SLOTS 有关,它们是否可绑定或是否有任何解决方法。
解决方案
使用平台时要小心,因为 ionic 4 平台中存在一个返回错误值的已知问题。
丑陋的解决方法是:
panel.page.html
<ion-tabs>
<ion-tab-bar slot="bottom" *ngIf="!isApp">
<ion-tab-button tab="tab1">
<ion-icon name="flash"></ion-icon>
<ion-label>Tab One</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab2">
<ion-icon name="apps"></ion-icon>
<ion-label>Tab Two</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab3">
<ion-icon name="send"></ion-icon>
<ion-label>Tab Three</ion-label>
</ion-tab-button>
</ion-tab-bar>
<ion-tab-bar slot="top" *ngIf="isApp">
<ion-tab-button tab="tab1">
<ion-icon name="flash"></ion-icon>
<ion-label>Tab One</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab2">
<ion-icon name="apps"></ion-icon>
<ion-label>Tab Two</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab3">
<ion-icon name="send"></ion-icon>
<ion-label>Tab Three</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
面板.page.ts
export class PanelPage implements OnInit{
isApp:any;
constructor() {
this.isApp = (!document.URL.startsWith('http') || document.URL.startsWith('http://localhost:8080'));
console.log(this.isApp);
}
}
推荐阅读
- python - 检查td标签python中是否存在href
- xamarin - Toast 通知在 Xamarin UWP Windows 应用程序中不起作用
- go - 为多个端点设置 http 客户端?
- c# - 通过C# Winform向STM32发送UDP数据
- typescript - 绘制多条路径时 react-native-canvas 的性能优化
- angular - 输入类型编号步骤验证 - 自定义表单验证
- mysql - 动态创建表并将数据从 MySQL 复制到 SQL Server 数据库
- sql - 'CASE' 表达式是否将 WHERE 条件应用于查询
- python - 如何按文件名重新组织大量文件?
- laravel - barryvdh / laravel-dompdf,Laravel 6,在 Chrome、Android 上没有响应