Vue 装饰器 vue-property-decorator

发布于 2024-09-03 19:43:37 字数 3921 浏览 20 评论 0

vue-property-decorator

 详细阅读

@Component

格式: @Component(options:ComponentOptions = {})

@Component 装饰器可以接收一个对象作为参数,可以在对象中声明 componentsfiltersdirectives 等未提供装饰器的选项,虽然也可以在 @Component 装饰器中声明 computedwatch 等,但并不推荐这么做,因为在访问 this 时,编译器会给出错误提示,即使没有组件也不能省略 @Component ,否则会报错。

import {Component,Vue} from 'vue-property-decorator';
import {componentA,componentB} from '@/components';

 @Component({
  name:"name",
    components:{
        componentA,
        componentB,
    },
    directives: {
        focus: {
            // 指令的定义
            inserted: function (el) {
                el.focus()
            }
        }
    }
})
export default class YourCompoent extends Vue{ }

@Prop

父子组件之间值的传递

格式: @Prop(options: (PropOptions | Constructor[] | Constructor) = {})

  • Constructor :例如 StringNumberBoolean 等,指定 prop 的类型;
  • Constructor[] :指定 prop 的可选类型;
  • PropOptions :可以使用以下选项: typedefaultrequiredvalidator
import { Vue, Component, Prop } from 'vue-property-decorator'

@Component
export default class YourComponent extends Vue {
  @Prop(Number) readonly propA: number | undefined
  @Prop({ default: 'default_value' }) readonly propB!: string
  @Prop([String, Boolean]) readonly propC: string | boolean | undefined
}

注意

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
23 人气
更多

推荐作者

謌踐踏愛綪

文章 0 评论 0

开始看清了

文章 0 评论 0

高速公鹿

文章 0 评论 0

alipaysp_PLnULTzf66

文章 0 评论 0

热情消退

文章 0 评论 0

白色月光

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文