当前位置: 首页 > 知识库问答 >
问题:

javascript - vue2.0怎么把一个已渲染的组件,渲染到一个弹窗上面?要保持组件所有状态和数据?

赵英哲
2023-07-28

vue2.0怎么把一个已渲染的组件,渲染到一个弹窗上面?要保持组件所有状态和数据!
因为有很多组件需要这样做,不可能为每一个都写一个方法或者props传入。有没有办法把组件的clone一个,保持状态的状态和数据,重新渲染到一个弹窗上面呢?

共有5个答案

孟成化
2023-07-28
<template>  <div>    <button @click="showModal = true">Open Modal</button>    <keep-alive>      <component :is="currentComponent" v-if="!showModal"></component>    </keep-alive>    <modal v-if="showModal">      <keep-alive>        <component :is="currentComponent"></component>      </keep-alive>    </modal>  </div></template><script>import Modal from './Modal.vue'import YourComponent from './YourComponent.vue'export default {  components: {    Modal,    YourComponent  },  data() {    return {      showModal: false,      currentComponent: 'YourComponent'    }  }}</script>
轩辕经赋
2023-07-28

vue3可以通过teleport来实现这个功能,所以我们只需要用vue2来手写这个组件即可
https://juejin.cn/post/7224051399256916029

琴献
2023-07-28

写一个弹窗组件,将所有可能展示的‘已渲染的组件’import进去,根据弹窗组件open传入的参数区分展示哪个‘已渲染的组件’,每个需要的弹窗的地方import这个弹窗组件,调用弹窗组件的open方法并传入参数。没有更省事的办法。

盛辰沛
2023-07-28

iframe

昝涛
2023-07-28

已渲染的组件用ref拿到再给其他的地方使用就可以了

 类似资料:
  • 请问下为什么renderDom能正常渲染renderComDom却渲染不出来?

  • 本文向大家介绍怎样有条件地渲染组件?相关面试题,主要包含被问及怎样有条件地渲染组件?时的应答技巧和注意事项,需要的朋友参考一下 or

  • 问题内容: 在React JSX中,似乎无法执行以下操作: 我收到一个解析错误:意外令牌{。这不是React可以处理的吗? 我正在设计此组件,以便在内部隐藏的值将包含有效的HTML元素(h1,p等)。有什么办法可以使这项工作吗? 问题答案: 您不应该将组件子弹放在花括号中: 这是一个有效的小提琴:http : //jsfiddle.net/kb3gN/6668/ 此外,您还可以找到JSX编译器,有

  • 本文向大家介绍javascript表格的渲染组件,包括了javascript表格的渲染组件的使用技巧和注意事项,需要的朋友参考一下 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tianxiangbing/table 如上图所示,功能基本包括常用表格中遇到的分页、搜索、删除

  • 问题内容: 错误的代码是: 我想做的是,当我单击时,我想刷新这两个图表。但是现在我使用了两个标签,其中第二个不起作用。 那么如何使用Ajax渲染两个图表呢? 问题答案: 您可以使用单个渲染多个组件。只需确保要更新的所有单个组件都有一个。在您的示例中,它将类似于: 这些ID仅需用空格分隔,而不能用逗号分隔(仅适用于)。

  • 1。生产环境不渲染,本地环境正常 2。生产环境静态路径,资源加载,Vue 初始化,APP.vue 初始化都没有问题 3。只有一个 vue-router 不渲染,history 模式不行,hash 能正常渲染 !!注意,是疑难杂症,不是命名,静态路径那种小白问题