如何使用组件和选项卡组件显示多个相同组件的实例?
当使用选项卡之类的组件动态显示多个组件内容时,我们希望能够对特定组件加载多个实例,并为每个实例传递不同的参数。
为了实现这一效果,我们可以采用以下步骤:
使用 v-model 绑定选项卡组件:
这将根据选中的选项卡动态更新 radio1 数据。
使用包裹组件:
在
元素外套一层即可,并记得添加 key 键:
Vue-router参考手册
Vue-router参考手册下载
下载
将缓存组件的状态,防止组件每次切换选项卡时重新渲染。
在 radio_onchange 方法中动态注册组件:
当选项卡标签更改时,radio_onchange 方法将被触发。在这个方法中,我们需要动态注册 Test3 组件:
这将确保为不同的选项卡加载 Test3 组件的新实例。
通过遵循这些步骤,我们可以实现动态加载多个相同组件实例,并为每个实例传递不同的参数,从而满足特定的组件加载要求。
{{item.label}}
radio_onchange(value) {
var item = this.page_list.find((item) => item.view_code === value);
if (item.type != 2) return;
if (!item.is_regist) {
Vue.component(item.view_code, Test3);
this.message = item.message;
item.is_regist = true;
}
}