在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} />;
}
这只是一个返回带有正确组件(取决于道具)的模板的函数
在Vue中,我们可以使用以下方法执行相同的逻辑:
<template>
<component :is="currentComponent"></component>
</template>
和 currentComponent 通常是计算的属性,或者只是数据中的属性
我的问题是:对于性能和渲染而言,哪种选择更便宜?
答案 0 :(得分:0)
如果您想动态加载组件,那么您将选择计算属性,因为该属性值是动态的,并且应该处于状态,我想您正在使用vuex在计算属性上使用... mapGetters检索数据。
使用数据属性主要用于固定值或声明