vue.js - vue中如何将props从父类传递给孙子类

标签 vue.js vuejs2 vue-component

我不想对 props 进行硬编码,而是希望将任意数量和类型的 props 从 parent 传递给孙子。

我试过这个:

<FileListRenderless v-bind="$props" v-on="$listeners">
<!-- <FileListRenderless :attachments="attachments" :isEditMode="isEditMode" :type="type"> -->

效果很好,但我仍然必须在子组件的 props 对象中定义它们。如何也抽象分配给子组件的 props 对象?

最佳答案

如果您不想在子组件中显式定义 Prop ,那么您应该将 Prop 作为对象传递,例如:

<FileListRenderless :my-props="$props" v-on="$listeners">

这绕过了内置的 prop 验证。你可以对你的监听器做同样的事情,只需手动将它们附加到组件挂载上。但是,如果您需要这样做,我建议您重新考虑您的设计。如果你有大量可能的 Prop ,那么你可能想找到一种方法来抽象出某些逻辑、制作工厂组件、使用指令或使用混合。 Vue 工具包中有很多工具。

关于vue.js - vue中如何将props从父类传递给孙子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52558390/

相关文章:

laravel - 在 VueJs 中使用 Laravel 的 Gate/Authorization

javascript - Vue.js2 渲染空数组

javascript - 使用 Vue.js 和 Vue CLI 3 进行一些处理后通过 props 渲染项目

vue.js - 在 v-data-table 中的列中选择选项或下拉菜单

vue.js - Vue Js 添加动态类名

javascript - 将 Access-Control-Allow-Origin header 添加到 vuejs CLI webpack 服务器

vue.js - 强制使用旧版本的 vuejs devtools 或下载旧版本

javascript - Vue.js - child 组件通信

vue.js - Vue JS 将内部值传递给 CSS 属性