vue $scopedSlots要怎么使用

<div id="app">
    <a-a>
        <template v-slot:default="a">
            {{a.text}}
        </template>           
    </a-a>
</div>
<script src="vue.js"></script>
<script>
    Vue.component("a-a", {
        props: {
            message:"你好!"
        },
        render: function (createElement) {
            // `<div><slot v-bind:text="message"></slot></div>`
            return createElement('div',
                [
                    this.$scopedSlots.default({
                        text: this.message
                    })
                ]);
        }
    });
    new Vue({ el: "#app" });
</script>


浏览器不会显示任何错误,也不是显示你好,哪里出现问题了
阅读 4.6k
1 个回答

你的render没写错,但props的默认值不支持这样设置

props: {
  message: {
    type: String,
    default: '你好!',
  },
},

改成这样就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题