使用 Vue JSX 中的 Slots 和 babel-plugin-transform-vue-jsx

如果你正在使用 VueJS2 并喜欢使用 JSX。在这种情况下,要使用插槽,示例的解决方案如下。我们必须使用 this.$slots.default 它几乎像 React JS 中的 this.props.children

Component.js:

export default {
    render(h) {  //eslint-disable-line
        return (
            <li>
                 { this.$slots.default }
            </li>
        );
    }
};

ParentComponent.js

import Component from './Component';

export default {
    render(h) {  //eslint-disable-line
        return (
            <ul>
                 <Component>
                     Hello World
                 </Component>
            </ul>
        );
    }
};