当前位置: 首页 > 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 {}
}

总结

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

http://www.xdnf.cn/news/1006471.html

相关文章:

  • 在 pgvector 中指定相似度搜索方法
  • 能提升30%!Infortrend普安存储自动分层增强版赋能文件共享与医疗影像
  • 华为OD机考-英文输入法-逻辑分析(JAVA 2025B卷)
  • 从 CAN FD 到 SD NAND(SLC)存储:S32K146 T-Box 如何驱动车载数据架构革新?
  • LeetCode 1143. 最长公共子序列 | 动态规划详解
  • 无人机遥控器低延迟高刷新技术解析
  • C# .NET Core Source Generator(C# .NET Core 源生成器)
  • md文件转word文档
  • 单元测试基本步骤
  • Spring MVC 常用请求处理注解总结
  • llm agent
  • OpenCV CUDA模块图像变形------对图像进行任意形式的重映射(Remapping)操作函数remap()
  • Spring Boot3批式访问Dify聊天助手接口
  • Vue 中 this.$emit(‘mount‘) 的妙用
  • 如何在 Discourse AI 中设置 Gemini API
  • 多串口卡使用
  • 软件测试BUG
  • 【小工具】-Doxygen01
  • slam--非线性优化
  • BEV和OCC学习-8:mmdet3d 3D分割demo测试
  • 如何利用单细胞转录组进行细胞图谱和疾病机制研究?
  • 爬虫实践:TOP250电影数据
  • 从数学到代码:一文详解埃拉托色尼筛法(埃式筛)
  • 阳台光伏防逆流电表革新者:安科瑞ADL200N-CT/D16-WF
  • ref 应用于对象类型的一个案例
  • CKA考试知识点分享(11)---CRD
  • JavaScript DOM 操作与事件处理全解析
  • BeanUtil.copyProperties()进行属性拷贝时如何忽略NULL值——CopyOptions配置详解
  • 高效管理Python环境:Miniforge、pyenv和Poetry深度对比与应用
  • 建筑业应用:机器人如何改变未来建筑业发展方向