Vue 3.0 选项 杂项

#name

  • 类型:string

  • 详细:

允许组件模板递归地调用自身。注意,组件在全局用 Vue.createApp({}).component({}) 注册时,全局 ID 自动作为组件的 name。

指定 name 选项的另一个好处是便于调试。有名字的组件有更友好的警告信息。另外,当在有 vue-devtools,未命名组件将显示成 <AnonymousComponent>,这很没有语义。通过提供 name 选项,可以获得更有语义信息的组件树。

#delimiters

  • Type: Array<string>

  • Default: ['{{', '}}']

  • Restrictions: 此选项仅在完整版本中可用,并在浏览器中编译模板。

  • Details:设置用于模板内文本插入的分隔符。 通常,这用于避免与同样使用mustache语法的服务器端框架冲突。

  • Example:

 
  1. Vue.createApp({
  2. // Delimiters changed to ES6 template string style
  3. delimiters: ['${', '}']
  4. })

#inheritAttrs

  • 类型:boolean

  • 默认:true

  • 详细:

默认情况下父作用域的不被认作 props 的 attribute 绑定 (attribute bindings) 将会“回退”且作为普通的 HTML attribute 应用在子组件的根元素上。当撰写包裹一个目标元素或另一个组件的组件时,这可能不会总是符合预期行为。通过设置 inheritAttrs 到 false,这些默认行为将会被去掉。而通过实例 property $attrs 可以让这些 attribute 生效,且可以通过 v-bind 显性的绑定到非根元素上。

  • 用法:

 
  1. app.component('base-input', {
  2. inheritAttrs: false,
  3. props: ['label', 'value'],
  4. emits: ['input'],
  5. template: `
  6. <label>
  7. {{ label }}
  8. <input
  9. v-bind="$attrs"
  10. v-bind:value="value"
  11. v-on:input="$emit('input', $event.target.value)"
  12. >
  13. </label>
  14. `
  15. })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值