Nativescript。 Angular2 +打字稿。将Child添加到WrapLayout

时间:2016-12-15 14:10:55

标签: angular typescript nativescript addchild

我无法将儿童添加到我的WrapLayout。这是我的choose_time.html:

<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)
    }

我做错了什么?

1 个答案:

答案 0 :(得分:3)

使用TypeScript感知编辑器并且已正确配置TS支持时,您会在代码的最后一行看到错误。

将其更改为(<WrapLayout>this.wrapLayout.nativeElement).addChild(label);,它就像老板一样!这里的关键是添加.nativeElement