我的行数未知(我通过将Http响应广告的长度除以2来进行计算)。 因此,如果我的数组有100个条目,则行数将是50,因为我使用2列网格布局。 我的问题很简单:可以以某种方式绑定此数字吗?或者我必须将其转换为50(*)星? 因此,不要这样做:
行= *,*,*,*,*,*,*等... 我想使用绑定值,例如:
<GridLayout rows="{{ length+'*' }}" columns="*,*" class="calendar" />
但是这不起作用。 有办法做到这一点吗? 谢谢。
答案 0 :(得分:3)
是的,有可能,这里正在工作POC。但这对于您的应用来说可能是一个过大的杀伤力。您为什么不尝试使用RadListView with GridLayout,它可能是显示批量数据的优化解决方案。
答案 1 :(得分:2)
您可以以编程方式使用GridLayout
并使用addRow()
。查看文章Demystifying NativeScript Layouts。
请注意,您不必以编程方式构建整个GridLayout
。您可以创建GridLayout
,然后获取对其的引用并调用addRow()
以添加行。
答案 2 :(得分:0)
行和列必须使用字符串。不是数字。 角语法:[rows] =“”。 JS语法:rows = {{}}
在.ts文件中定义属性:
rowsVar = '*, auto';
在.html文件中使用:
<GridLayout [rows]="rowsVar"></GridLayout>
或
在.ts文件中定义属性:
rowsVar = '100';
在.html文件中使用:
<GridLayout [rows]="'*,auto,'+rowsVar"></GridLayout>