内置特殊元素

您所在的位置:网站首页 template标签用法 内置特殊元素

内置特殊元素

2023-11-12 21:30| 来源: 网络整理| 查看: 265

Props

tsinterface DynamicComponentProps { is: string | Component }

详细信息

要渲染的实际组件由 is prop 决定。

当 is 是字符串,它既可以是 HTML 标签名也可以是组件的注册名。

或者,is 也可以直接绑定到组件的定义。

示例

按注册名渲染组件 (选项式 API):

vue import Foo from './Foo.vue' import Bar from './Bar.vue' export default { components: { Foo, Bar }, data() { return { view: 'Foo' } } }

按定义渲染组件 ( 组合式 API):

vue import Foo from './Foo.vue' import Bar from './Bar.vue'

渲染 HTML 元素:

template

内置组件都可以传递给 is,但是如果想通过名称传递则必须先对其进行注册。举例来说:

vue import { Transition, TransitionGroup } from 'vue' export default { components: { Transition, TransitionGroup } } ...

如果将组件本身传递给 is 而不是其名称,则不需要注册,例如在 中。

如果在 标签上使用 v-model,模板编译器会将其扩展为 modelValue prop 和 update:modelValue 事件监听器,就像对任何其他组件一样。但是,这与原生 HTML 元素不兼容,例如 或 。因此,在动态创建的原生元素上使用 v-model 将不起作用:

vue import { ref } from 'vue' const tag = ref('input') const username = ref('')

在实践中,这种极端情况并不常见,因为原生表单字段通常包裹在实际应用的组件中。如果确实需要直接使用原生元素,那么你可以手动将 v-model 拆分为 attribute 和事件。

参考动态组件



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3