slots相关
相关代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>composition API</title> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> </head> <body> <div id="root"></div> <script> const app=Vue.createApp({ template:` <child style="color:red" :content='123'>parent</child> `, }); app.component('child',{ props:['content'], template:`<div class='myclass'>child</div>`, setup(prop,context){ const {attrs,slots,emit}=context; const arr=slots.default(); console.log(slots.default(),arr[0].children) } }) const vm=app.mount('#root'); </script> </body> </html>
问题描述:
1、怎么知道slots.default()返回的是虚拟DOM数组,是通过__v_isVNode: true?
2、以上代码 arr[0].props是null, 为什么,不应该是父组件的属性吗?
3、在父组件里 添加setup,打印slots,结果是{__vInternal: 1},子组件是{_: 1, __vInternal: 1, default: ƒ},为什么父组件里的slots没有default函数?
4、slots作用是什么?是为了子组件能获得父组件的信息?例如arr[0].childer就能知道父组件的包裹的内容,props传递父组件属性?
14
收起
正在回答 回答被采纳积分+1
1回答
相似问题
登录后可查看更多问答,登录/注册
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星