14

我试图OAuthComponent在我的GettingStartedPage组件中显示一个。提供给我的OAuthComponent浏览器时没有显示。没有错误。

OAuthComponent.ts

import {Page, NavController} from 'ionic/ionic';
import {Component} from 'angular2/angular2'

@Component({
    templateUrl: "app/authentication/components/oauth-component.html",
    selector: "oauth-component"
})
export class OAuthComponent {

    private nav: NavController;

    constructor(nav: NavController) {
        this.nav = nav;
    }
}

oauth-component.html

<h1>
    Testing Something
</h1>

GettingStartedPage.ts

import {Page, NavController} from 'ionic/ionic';
import {OAuthComponent} from "../authentication/components/OAuthComponent";
import "./getting-started.scss";

@Page({
    templateUrl: 'app/getting-started/getting-started.html',
    directives: [OAuthComponent]
})
export class GettingStartedPage {

    private nav: NavController;

    constructor(nav: NavController) {
        this.nav = nav;
    }
}

getting-started.html

<ion-navbar *navbar>
    <a menu-toggle>
        <icon menu></icon>
    </a>

    <ion-title>Getting Started</ion-title>
</ion-navbar>

<ion-content>
    <main>
        <oauth-component></oauth-component>
    </main>
</ion-content>
4

1 回答 1

9

Angular2 中的所有组件都必须引用视图中出现的其他组件。

Ionic 似乎用他们自己的@Page注释来处理这个问题,但它只涵盖了 Ionic 特定的组件。decorators.ts解释了这种行为。

您需要编辑代码以包含OAuthComponentdirectives

@Page({
    templateUrl: 'app/getting-started/getting-started.html',
    directives: [OAuthComponent] // Don't forget to import it
})
export class GettingStartedPage {
于 2015-12-01T23:59:08.443 回答