2016-10-22 7 views
1

구성 요소에 SideDrawer를 추가하여 페이지 전체에 걸쳐 다음에 다시 사용할 수 있도록했습니다. answer .. 잘 작동합니다.컨테이너 구성 요소의 액세스

login.component.html

<your-header> 
    <StackLayout class="content"> 
     <Button text="Open!" (tap)="openDrawer()"></Button> 
    </StackLayout> 
</your-header> 

header.component :

는 내부가 나는 header.component.ts 예에 존재 openDrawer() 메소드를 사용할 필요가 login.component.html. ts

//~ 
export class HeaderComponent //~ 
{ 
    //~ 
    public openDrawer() { 
     console.log('opened!'); 
     //~ 
    } 
    //~ 
} 

하지만 오류가 발생합니다. self.context.openDrawer는 함수가 아닙니다.

어떻게 만드시겠습니까?

<your-header> 
    <StackLayout class="content"> 
     <Button text="Open!" (tap)="_parent.openDrawer()"></Button> 
    </StackLayout> 
</your-header> 

login.component.ts :

import { Component, ViewChild } from "@angular/core"; 
import { HeaderComponent } from "../header/header.component"; 
@Component({ 
    selector: "login", 
    templateUrl: 'pages/login/login.html' 
}) 
export class LoginComponent { 
    constructor() {} 
    @ViewChild(HeaderComponent) 
    private _parent: HeaderComponent; 
} 

슬픈 부분은 내가가 3 줄을 추가 할 필요가있다

답변

0

login.component.html 어렵지 않다 this answer 다음 각 구성 요소는 재미 있지 않다. 나는 더 나은 접근법을보고 싶다.

관련 문제