美文网首页我爱编程
ionic3 自定义按钮切换tabs页

ionic3 自定义按钮切换tabs页

作者: 发财的哥 | 来源:发表于2018-03-14 14:11 被阅读0次

    我们一般切换页面,多数通过点击下面的tabs来切换,但是也有可能我不希望通过点击tabs来切换,比如,我在home页上有一个按钮。

    我想点击首页上的这个按钮直接切换到搜索页上去,如果用NavController.setRoot(),NavController.push()是不行的,这两种方法会直接替换掉整个tabs页面,下面是我的做法:

    我考虑通过一个共享服务来处理page页面和tabs之前的通信。当然,也可以通过Events事件来处理。https://ionicframework.com/docs/api/util/Events/

    1、新建一个TabService.ts服务

    import { HttpClient } from '@angular/common/http';

    import { Injectable } from '@angular/core';

    import { Observable } from 'rxjs/Observable';

    import { Platform } from 'ionic-angular';

    @Injectable()

    export class TabService {

      private tabChangeObserver: any;

      public tabChange: any;

      constructor(private platform: Platform) {

        this.tabChangeObserver = null;

        this.tabChange = Observable.create(observer => {

          this.tabChangeObserver = observer;

        })

      }

      public changeTabInContainerPage(index: number) {

        this.tabChangeObserver.next(index);

      }

    }

    2、home.html加一个button

    3、home.ts增加一个changeTab方法

    4、然后在tabs页面去接收这个可观察对象传来的的值

    5、改一下tabs.html,加一个#myTabs

    执行,一切OK,上图

    相关文章

      网友评论

        本文标题:ionic3 自定义按钮切换tabs页

        本文链接:https://www.haomeiwen.com/subject/wedfqftx.html