Tôi đang cố gắng tạo một ứng dụng cơ bản trong Ionic2 sử dụng cả menu bên và điều hướng tab. Tôi hiểu các khái niệm về ngăn xếp điều hướng và mỗi tab có ngăn xếp điều hướng riêng, nhưng tôi không thể nắm quyền kiểm soát các tab.Cách chọn tab trong ionic 2?
Mẫu khởi động tab bắt đầu dự án với một ion-nav
có trang gốc của nó trỏ tới "rootPage", thuộc tính của @App
trỏ đến lớp TabsPage
.
<ion-nav id="nav" [root]="rootPage" #content></ion-nav>
Lớp TabsPage định nghĩa 3 thuộc tính, một cho mỗi trang, trỏ đến các lớp học của mình (mỗi lớp được trang trí với @Page
). Nhưng lớp TabsPage bản thân dường như không có bất cứ chức năng, hoặc được tiêm với một bộ điều khiển tab và tôi thấy ít hoặc không có tài liệu hướng dẫn về cách để có được một trường hợp Tabs
(có những phương pháp dụ được giới thiệu trên http://ionicframework.com/docs/v2/api/components/tabs/Tabs/)
gì Tôi đã thực hiện: Sử dụng một tab để điều khiển thẻ còn lại.
import {Page, Tabs} from 'ionic-angular';
@Page({
templateUrl: 'build/pages/timeline/timeline.html'
})
export class Timeline {
tabs:Tabs;
constructor(tabs:Tabs) {
this.tabs=tabs;
this.selectTab(2);
}
selectTab(i:number) {
this.tabs.select(i);
}
}
Trang ở trên được tiêm một phiên bản Tab được kế thừa từ NavController. Ví dụ Tab có phương thức select
mong muốn và tôi có thể trỏ đến một tab khác (theo chỉ mục, không theo tên). Vì vậy, trong tình huống này, chọn tab 'dòng thời gian' của tôi sẽ kích hoạt hàm tạo và thay vì chuyển đến tab dòng thời gian, chúng tôi sẽ chọn tab thứ hai.
Tôi muốn làm gì: điều hướng đến tab có liên kết trong menu bên. Menu phụ của tôi bao gồm hai mục ion, các nút đơn giản với trình nghe nhấp chuột. Trong Ionic 1.x tôi có thể sử dụng ui-sref hoặc a href để phù hợp với một trạng thái nhất định, nhưng trong Ionic 2 tôi không thể tìm ra cách kiểm soát các tab của mình. Tôi có thể truy cập ion-nav
bằng cách cho nó một id và sử dụng app.getComponent('nav')
, nhưng tôi không thể nhắm mục tiêu các tab ion theo cách này (hy vọng nó sẽ bị ràng buộc vào một trường hợp bộ điều khiển Tabs).