当前位置: 首页 > news >正文

vue-property-decorator实践(一)

 前言

入职新公司,使用的技术是vue2+typescript,使用的是vue-property-decorator。记录下使用的情况。

一、vue-property-decorator是什么?

`vue-property-decorator`是一个库,它是Vue.js和TypeScript的结合,提供了装饰器来帮助我们在TypeScript中更好地声明和管理组件的属性。

二、使用步骤

1.引入库

npm i -S vue-property-decorator

2.基本使用

1.基本写法 

<script lang="ts">
import { Vue, Component} from 'vue-property-decorator'
//@Component表明此为vue组件
@Component({name: 'Test'
})
export default class Test extends Vue {
}

 2.@Ref

<template><div><import ref="import" /></div>
</template>
<script lang="ts">
import { Vue, Component} from 'vue-property-decorator'
import import from './components/import.vue'
//@Component表明此为vue组件
@Component({name: 'Test',components: {import}
})
export default class Test extends Vue {@Ref('import') importRef!: import
}
</script>

3.@Prop 

<!--子组件-->
<template><div>{{placeholder}}</div>
</template>
<script lang="ts">
import { Vue, Component} from 'vue-property-decorator'
//@Component表明此为vue组件
@Component({name: 'import',
})
export default class import extends Vue {@Prop({ type: String, default: '请选择' }) placeholder!: string
}<!--父组件-->
<template><div><import ref="import"  placeholder='请选择'  /></div>
</template>
<script lang="ts">
import { Vue, Component} from 'vue-property-decorator'
import import from './components/import.vue'
//@Component表明此为vue组件
@Component({name: 'Test',components: {import}
})
export default class Test extends Vue {@Ref('import') importRef!: import
}
</script>

4.@Watch 

<template><div>{{placeholder}}</div>
</template>
<script lang="ts">
import { Vue, Component} from 'vue-property-decorator'
//@Component表明此为vue组件
@Component({name: 'import',
})
export default class import extends Vue {@Prop({ type: String, default: '请选择' }) placeholder!: string
@Watch('placeholder', { immediate: true,deep:true })valueHandler(): void {}
}

总结

以上是目前接触比较多的,后续有了解更多在分享。

相关文章:

  • 如何通过插件系统打造个性化效率工作流
  • AUTOSAR图解==>AUTOSAR_TR_InteroperabilityOfAutosarTools
  • PEP 8: E302 expected 2 blank lines, found 0
  • [vela os_5] 中断系统 | 任务调度 | 日志系统
  • node.js连接mysql写接口(一)
  • jupyter notebook的相关知识及可能遇到的问题
  • spring-ai MCP Server运行一段时间后断联2
  • Spring Boot3批式访问Dify聊天助手接口
  • 力扣-70.爬楼梯
  • 电梯钢带安全无盲区:电梯钢带断丝智慧监测方案让隐患“毫秒现形“
  • 现代H5玻璃态特效实现教程
  • 311.循环数组中相邻元素的最大差值
  • hot100滑动窗口无重复字符串
  • 第 87 场周赛:比较含退格的字符串、数组中的最长山脉、一手顺子、访问所有节点的最短路径
  • python--杂识--19--zmq
  • 【c++】#include <>和#include ““的主要区别
  • Smart Form Adobe form
  • 人工智能100问☞第46问:AI是如何“学习”的?
  • C++ STL容器汇总
  • 《TCP/IP协议卷1》第3章 IP协议
  • 从事网站开发的想考研/陕西seo公司
  • 老网站改版启用二级域名/百度平台商家联系方式
  • 网站关键词更改/今天的新闻发布会
  • 建设大型网站制作品牌/关键词优化推广公司排名
  • 有没有交流做服装的网站/站长统计入口
  • 博远手机销售管理系统app/seo怎么搞