在React中,我们可以通过这种方式添加动态组件(我从react docs https://reactjs.org/docs/jsx-in-depth.html中抓取):
import React from 'react';
import { PhotoStory, VideoStory } from './stories';
const components = {
photo: PhotoStory,
video: VideoStory
};
function Story(props) {
const SpecificStory = components[props.storyType];
return <SpecificStory story={props.story} />;
}
字符串
它只是一个函数,返回一个模板与正确的组件(取决于 prop )
在Vue中,我们可以使用相同的逻辑:
<template>
<component :is="currentComponent"></component>
</template>
型
和 currentComponent 将是一个计算属性(通常)或只是数据中的一个属性
我的问题是:什么选择是更便宜的性能和渲染?
1条答案
按热度按时间6jygbczu1#
如果你想动态加载组件,那么你应该选择computed property,因为property值是动态的,应该是on state,我猜你是在使用vuex来检索数据,使用. mapGetters on computed property。
使用数据属性主要用于固定值或声明