假设我有一个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
制作动画(不需要给每个标签/按钮一个唯一的名字,等等)。
我想知道如果你想要更好的性能,第二种方法是不是最好的?有没有办法用自定义组件实现同样的性能?
发布于 2018-12-09 17:53:21
使用定制的Vue组件从来都不是问题,但最重要的是你的设计和你使用的布局。有两种简单的方法可以在这里保持性能,
https://stackoverflow.com/questions/53690990
复制相似问题