【发布时间】:2018-12-09 09:34:05
【问题描述】:
假设我有一个如下所示的 Nativescript Vue 组件:
<template>
<GridLayout columns="auto, auto">
<TextField col="0" />
<Button col="1" />
</GridLayout>
</template>
我想在一个表单中使用这个组件,例如 10 次。据我所知,使用这样的组件在 nativescript 中效率很低。 为了性能,最好不要使用自定义 vue 组件,而只需创建一个包含上述组件 10 次的 GridLayout 的组件。 我的意思是这样的:
<template>
<GridLayout rows="10" columns="auto, auto">
<TextField row="0" col="0" />
<Button row="0" col="1" />
<TextField row="1" col="0" />
<Button row="1" col="1" />
...
</GridLayout>
</template>
使用自定义组件,它看起来像这样:
<template>
<GridLayout rows="10" columns="auto, auto">
<CustomComponent row="0" />
<CustomComponent row="1" />
...
</GridLayout>
</template>
这将转化为:
<template>
<GridLayout rows="10" columns="auto, auto">
<GridLayout row="0" columns="auto, auto">
<TextField col="0" />
<Button col="1" />
</GridLayout>
<GridLayout row="1" columns="auto, auto">
<TextField col="0" />
<Button col="1" />
</GridLayout>
...
</GridLayout>
</template>
在这种情况下,我只有一个 GridLayout 而不是 11 个带有自定义组件的。不过,使用自定义组件会方便得多。
我可以轻松地调整组件并且没有重复的代码。我还可以更轻松地使用ref 制作动画(不给每个标签/按钮一个唯一的名称等)。
如果您想要更好的性能,我想知道第二种方法是否是最好的方法?有没有办法使用自定义组件实现相同的性能?
【问题讨论】:
标签: nativescript