2015-12-01 3 views
13

Я пытаюсь показать OAuthComponent в моем GettingStartedPage компоненте. OAuthComponent не отображается при обслуживании моего браузера. Нет ошибок.Угловой 2 Компонент не показан

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> 

ответ

9

Все компоненты в Angular2 должны ссылаться на другие компоненты, которые появляются в представлении.

Ионные, похоже, обрабатывают это со своей аннотацией @Page, но он охватывает только ионные конкретные компоненты. decorators.ts объясняет это поведение.

Вы должны изменить свой код, чтобы включить OAuthComponent в directives:

@Page({ 
    templateUrl: 'app/getting-started/getting-started.html', 
    directives: [OAuthComponent] // Don't forget to import it 
}) 
export class GettingStartedPage { 
+1

Добавлены 'директивы: [OAuthComponent]' и импорт. Он все еще не работает. Изменено мое исходное сообщение, чтобы включить изменение директивы. – prolink007

0

В настоящее время, у меня такая же проблема. Это связано с jQuery. Если вы использовали коды jQuery, вы должны проверить и исправить их. Но я не знаю, как это исправить!

Дополнительная информация: Моя проблема заключается в том, что я использую функцию .append(), чтобы добавить что-то в мой тег динамически (после моего компонента), но это приводит к сбою в работе моего компонента. Возможно, решение состоит в том, чтобы использовать функцию .appendTo() (это помогло мне приблизительно). Если вы хотите убедиться, что проблема связана с jQuery, попробуйте удалить часть по частям, чтобы найти проблему.