<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> 浏览器不会显示任何错误,也不是显示你好,哪里出现问题了
你的render没写错,但props的默认值不支持这样设置
render
props
props: { message: { type: String, default: '你好!', }, },
改成这样就行了
2.1m questions
2.1m answers
60 comments
56.9k users