2016-12-15 11 views
0

Я не могу добавить ребенка в свой WrapLayout. Вот мой choose_time.html:Nativescript. Angular2 + Typcript. Добавить ребенка в WrapLayout

<WrapLayout #wrapLayout> 
</WrapLayout> 

Вот мой choose_time.component.ts:

import { Component, ElementRef, ViewChild } from "@angular/core"; 
import { WrapLayout } from 'ui/layouts/wrap-layout' 
import labelModule = require("ui/label"); 

@Component({ 
    selector: "choose_time", 
    providers: [], 
    templateUrl: "pages/choose_time/choose_time.html", 
    styleUrls: ["pages/choose_time/choose_time-common.css"] 
}) 

export class ChooseTimeComponent implements OnInit { 
@ViewChild("wrapLayout") wrapLayout: ElementRef; 

    constructor(
    private page: Page) {} 

    ngOnInit() { 
     this.page.actionBarHidden = true; 
     this.setChildren() 
    } 

    setChildren(){ 
     var label = new labelModule.Label(); 
     label.text = "text"; 
     this.wrapLayout.addChild(label) 
    } 

Что я делаю неправильно?

ответ

2

При использовании редактора, поддерживающего TypeScript, и поддержка TS была настроена правильно, вы увидите ошибку в последней строке вашего кода.

Измените его на (<WrapLayout>this.wrapLayout.nativeElement).addChild(label);, и он работает как босс! Ключевым моментом здесь является добавление .nativeElement.

+0

Да, это работает !!! Большое спасибо!!! –

+0

Прохладный, пожалуйста, примите ответ, чтобы другие могли его легко найти. Ура! –