我的网站会覆盖特定的 DOM,而不是要求加载页面。有时,DOM 内部会有一些 Vue.js 组件(都是单页组件),这些组件会被覆盖。它们中的大多数驻留在仅为构建组件而创建的应用程序中。
两个问题:
我需要销毁这些组件吗?如果是:如何?
这种方法有没有更好的解决方案?
有一个销毁命令来擦除组件:
彻底摧毁一个虚拟机。清理它与其他现有虚拟机的连接,解除其所有指令的绑定,关闭所有事件侦听器。触发beforeDestroy 和destroyed 钩子。
https://vuejs.org/v2/api/#vm-destroy
但是,如果您只想删除/隐藏一个或多个实例(即通过.$mount()或安装的那些)内的组件,el: "#app"您应该尝试通过v-if或 隐藏通过删除组件v-show。
在实例模板中,这将如下所示:
<my-component v-if="showMyComponent"></my-component>
<my-component v-show="showMyComponent"></my-component>
Run Code Online (Sandbox Code Playgroud)
v-show 将只是设置display:nonewhilev-if会以与 DOM 相同的方式从 DOM 中删除组件$destroy()。https://vuejs.org/v2/guide/conditional.html#v-if-vs-v-show
| 归档时间: |
|
| 查看次数: |
23403 次 |
| 最近记录: |