ionic-framework - 在 Ionic 2 中,如何创建使用 Ionic 组件的自定义组件?

标签 ionic-framework ionic2 angular2-directives angular2-components

创建基本指令很简单:

import {Component} from 'angular2/core';

@Component({
    selector: 'my-component',
    template: '<div>Hello!</div>'
})
export class MyComponent {
    constructor() {

    }
}

这按预期工作。但是,如果我想在指令中使用 Ionic 组件,事情就会崩溃。

@Component({
    selector: 'nl-navbar',
    template: `
        <ion-header>
          <ion-navbar color="primary">
            <button ion-button menuToggle>
              <ion-icon name="menu"></ion-icon>
            </button>
            <ion-title >
              <span>Complaints</span>
            </ion-title>
            <ion-buttons *ngIf="!hideCreateButton" end>
              <button ion-button class="navBtnRight" (click)="openPopover($event)">
                <ion-icon name="md-more"></ion-icon>
              </button>
            </ion-buttons>
          </ion-navbar>
        </ion-header>
    `,
    inputs: ['hideCreateButton']
})

export class CustomNavbar {

    public hideCreateButton: string;

    constructor(public popoverCtrl: PopoverController) {
    }

    createNew(): void {
        // this.nav.setRoot(CreateNewPage, {}, { animate: true, direction: 'forward' });
    }

    openPopover(myEvent) {
      let popover = this.popoverCtrl.create(PopoverPage);
      popover.present({
        ev: myEvent
      });
    }
}

像这样使用自定义导航栏:

<nl-navbar [hideCreateButton]="hidebutton()"></nl-navbar>

我的 ts 文件如下所示:

private hideCreateButton: boolean = false;

  public hidebutton(): boolean {
    return this.hideCreateButton;
  }

该指令已渲染,但 Ionic 组件未转换,因此无法正常显示/工作。有时它仅适用于 Android 设备。

我找不到任何这方面的例子。我该怎么做?

最佳答案

确保包含自定义组件的模块具有:导入:[IonicModule]

关于ionic-framework - 在 Ionic 2 中,如何创建使用 Ionic 组件的自定义组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41178819/

相关文章:

android - 是否可以以编程方式重新启动 Ionic 应用程序?

css - 如何在 Angular 2 中更改应用程序范围的 css?

angular - 使用 Angular Directive(指令)向宿主元素添加按钮

angular - 组件可注入(inject)?

javascript - 如何将 YouTube 视频嵌入到指定的容器中?

javascript - 复制 $rootScope

javascript - 错误代码 2,安全错误 : typescript blob

html - 如何去除 ionic 元素周围的填充?

javascript - 无法在 ionic 2 中从 JS 切换到 TS

ajax - angular2 使用 HTTP 发布 XML 类型请求数据