ons-tabbar가 포함 된 페이지를 열고 ons-navigator를 사용하여 특정 탭을 표시하도록하려면 어떻게합니까? 몇 가지 버튼이있는 메뉴가 있는데 어느 버튼이 눌려 있는지에 따라 특정 탭이 활성 상태 인 탭바 페이지가 표시되어야합니다. ons-tabbar로 페이지를 열고 특정 탭을 표시하는 방법
이
내가 지금까지 시도한 것입니다 :index.html을 (메인 페이지)
<body>
<ons-navigator animation="slide" var="app.navi">
<ons-page>
<ons-toolbar>
<div class="center">Inicio</div>
</ons-toolbar>
<div>
<p style="text-align: center">
<ons-button modifier="large" ng-click="app.navi.pushPage('tabs.html', {params: { tab: 0 }});">OPEN TAB 0</ons-button>
</p>
<p style="text-align: center">
<ons-button modifier="large" ng-click="app.navi.pushPage('tabs.html', {params: {tab: 1}});">OPEN TAB 1</ons-button>
</p>
</div>
</ons-page>
</ons-navigator>
</body>
tabs.html
<div ng-controller="TabsCtrl">
<ons-tabbar var="tabbar" position="top">
<ons-tabbar-item
icon="home"
label="Home"
page="page0.html"></ons-tabbar-item>
<ons-tabbar-item
icon="comment"
label="Comments"
page="page1.html"></ons-tabbar-item>
</ons-tabbar>
</div>
AngularJS와 컨트롤러 :
angular.module('myControllers', [])
.controller('TabsCtrl', ['$scope', function ($scope) {
// Trying to set active tab on the controller
$scope.tabbar.setActiveTab($scope.ons.navigator.getCurrentPage().options.params.tab);
}]);
그러나 내가 기본 페이지에서 디버거가 정의되지 않은 메서드 setActiveTab
을 호출 할 수 없다고 말합니다. 컨트롤러가 실행될 때 탭바가 만들어지지 않았기 때문에 이것이 가능할 수도 있지만 일부 네비게이터 매개 변수를 기반으로 페이지가 표시 될 때 특정 탭을 표시하는 방법을 알 수 없습니다.
코드를 제공하고, 시도한 내용과, 문제가 어디에 있어야합니다. 그렇지 않으면 많은 도움을 얻지 못할 것입니다. 또한 여기 AngularJS에 대한 언급이 없지만 태그를 추가했습니다. – SoluableNonagon