API考察,但$attrs和listeners已经移除,还是有细节可说的。
一个包含组件透传属性的对象。
An object that contains the component's fallthrough attributes.
<template> <child-component v-bind="$attrs"> 将非属性特性透传给内部的子组件 </child-component> </template>
查看透传属性foo和普通属性bar,发现vnode结构完全相同,这说明vue3中将分辨两者工作由框架完成而非用户指定:
<template> <h1>{{ msg }}</h1> <comp foo="foo" bar="bar" /> </template>
<template> <div> {{$attrs.foo}} {{bar}} </div> </template> <script setup> defineProps({ bar: String }) </script>
_createVNode(Comp, { foo: "foo", bar: "bar" })
本文作者:毛超颖
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!