vue 中provide的用法_vue+ts项目vue-property-decorator(装饰器)用法

本文详细介绍了在 Vue + TypeScript 项目中使用 `vue-property-decorator` 库的各种装饰器,如 `@Component`、`@Emit`、`@Prop`、`@Watch`、`@Model`、`@Inject` 和 `@Provide` 的用法,并通过代码示例对比了 TypeScript 与 JavaScript 的不同写法。
摘要由CSDN通过智能技术生成

在vue项目使用ts时,装饰器有以下几种,下面为这些装饰器的具体用法并且有和js中写法的对比:

@Component

@Emit

@Prop

@Watch

@Model

@Inject / @Provide

Mixins

下面为具体代码:

1.@Component

ts中引入组件components写在@Component中,如下:

parent组件--{ {title}}


import Home from './Home.vue'

import About from './About.vue'

import { Component, Vue } from 'vue-property-decorator';

@Component({

components: {

Home,

About

}

})

export default class extends Vue {

private title: string = '父组件中的值'

}

复制代码

下面为在js中引入组件components的写法,与上面ts的代码效果一样:

import Home from './Home.vue'

import About from './About.vue'

export default {

data() {

return {

title: '父组件中的值'

}

},

components: {

Home,

About

}

}

复制代码

2.@Emit

ts中@Emit的用法如下:

vue+ts项目vue-property-decorator用法


触发emit

import { Component, Vue, Emit } from 'vue-property-decorator';

@Component({})

export default class Home extends Vue {

private mounted() {

this.$on('demo-log', (data: any): void => {

alert(data)

})

}

@Emit('demo-log')

triggerEmit(n: any) {

console.log('hhh')

}

}

复制代码

下面为@Emit的另一种写法࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值