【发布时间】:2016-06-21 02:27:25
【问题描述】:
我正在使用 Angular 2 在 NativeScript 中编写应用程序。
是否可以在父布局中定义 ng2 组件的位置?
例如在我的test.component.ts 中,html 布局文件读取为<Label text="-" row="6" col="2" colSpan="2"></Label>。然后我只调用<test-comp></test-comp> - 这很好用,并创建了我想要的视图,但显然,我希望组件是可重用的。
因此,理想情况下,我希望能够从组件中删除行和列信息,然后将测试组件包含在 <test-comp row="6" col="2"></test-comp> 这样的父组件中,我已经尝试过了,但它不起作用,它只是呈现我的 gridLayout 顶部的组件。有没有办法达到同等的效果?
更新:
所以这是我尝试过的解决方案...
test.component.ts:
import {Component, Input} from "@angular/core";
@Component({
selector: "test",
templateUrl: `Components/Test/test.html`,
providers: []
})
export class Test{
@Input() labelRow: number;
@Input() labelCol: number;
@Input() labelColSpan: number;
@Input() labelRowspan: number;
}
test.html:
<Image src="res://test" stretch="aspectFit" [row]="lableRow" [col]="labelCol" [colSpan]="labelColSpan" [rowSpan]="labelRowSpan6"></Image>
parent.html:
<GridLayout columns="*, *, *, *" rows="15*, 5*, 20*, 5*, 5*, 5*, 5*, 20*, 20*" width="100%" height="100%" style.backgroundColor="white">
<test [labelRow]="2" [labelCol]="0" [labelRowSpan]="6" [labelColSpan]="2"></test>
</GridLayout>
但是,测试组件确实会显示,但它位于布局的左上角,而不是指定位置...
【问题讨论】:
标签: typescript angular grid-layout nativescript