1. 1 <template>
  2. 2 <div>
  3. 3 <input v-model="msg">
  4. 4 <p>prop: {{ propMessage }}</p>
  5. 5 <p>msg: {{ msg }}</p>
  6. 6 <p>helloMsg: {{ helloMsg }}</p>
  7. 7 <p>computed msg: {{ computedMsg }}</p>
  8. 8 <Hello ref="helloComponent" />
  9. 9 <World />
  10. 10 <button @click="greet">Greet</button>
  11. 11 </div>
  12. 12 </template>
  13. 13
  14. 14 <script lang="ts">
  15. 15 import Vue from 'vue'
  16. 16 import Component from '../lib/index'
  17. 17 import Hello from './Hello.vue'
  18. 18 import World from './World'
  19. 19 // We declare the props separately
  20. 20 // to make props types inferable.
  21. 21 const AppProps = Vue.extend({
  22. 22 props: {
  23. 23 propMessage: String
  24. 24 }
  25. 25 })
  26. 26 @Component({
  27. 27 components: {
  28. 28 Hello,
  29. 29 World
  30. 30 }
  31. 31 })//这里就算没有component也要保留"@Component",否则报错
  32. 32 export default class App extends AppProps {
  33. 33 // data数据改为属性的形式
  34. 34 msg: number = 123
  35. 35 // use prop values for initial data
  36. 36 helloMsg: string = 'Hello, ' + this.propMessage
  37. 37 // lifecycle hook
  38. 38 mounted () {
  39. 39 this.greet()
  40. 40 }
  41. 41 // computed:计算属性改为前面加get关键字
  42. 42 get computedMsg () {
  43. 43 return 'computed ' + this.msg
  44. 44 }
  45. 45 // method:方法就不用再写在methods里了,直接以类方法形式书写
  46. 46 greet () {
  47. 47 alert('greeting: ' + this.msg)
  48. 48 this.$refs.helloComponent.sayHello()
  49. 49 }
  50. 50 // dynamic component
  51. 51 $refs!: {
  52. 52 helloComponent: Hello
  53. 53 }
  54. 54 }
  55. 55 </script>

更多相关代码示例看这里:https://github.com/vuejs/vue-class-component/tree/master/example

基于typescript编写vue的ts文件语法模板的更多相关文章

  1. TypeScript编写Vue项目结构解析

    使用TypeScript编写Vue项目也已经有了一段时间,笔者在刚刚使用TypeScript时候也是很茫然,不知道从何下手,感觉使用TypeScript写项目感觉很累赘并不像JavaScript那么灵 ...

  2. 基于Typescript的Vue项目配置国际化

    基于Typescript的Vue项目配置国际化 简介 使用vue-i18n插件对基于Typescript的vue项目配置国际化,切换多种语言, 配合element-ui或者其他UI库 本文以配置中英文 ...

  3. vue cli4构建基于typescript的vue组件并发布到npm

    基于vue cli创建一个vue项目 首先安装最新的vue cli脚手架, npm install --global @vue/cli npm WARN optional SKIPPING OPTIO ...

  4. 如何编写一个d.ts文件

    这篇文章主要讲怎么写一个typescript的描述文件(以d.ts结尾的文件名,比如xxx.d.ts). 2018.12.18更新说明: 1.增加了全局声明的原理说明. 2.增加了es6的import ...

  5. 教你搭建基于typescript的vue项目

    自尤大去年9月推出vue对typescript的支持后,一直想开箱尝试,对于前端sr来说,vue的顺滑加上ts的面向对象,想着就非常美好~ 终于在两个月前,找到了个机会尝试了一把vue+ts的组合. ...

  6. TypeScript 之 书写.d.ts文件

    https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Writing%20Definition%20Files.html ...

  7. TypeScript如何添加自定义d.ts文件(转)

    方法一:https://dingyuliang.me/angular-6-typescript-2-9-typings-d-ts-cant-find-names/ 方法二:https://www.be ...

  8. eval5: TypeScript编写的JavaScript解释器

    eval5是基于TypeScript编写的JavaScript解释器,100%支持ES5语法. 项目地址:https://github.com/bplok20010/eval5 使用场景 浏览器环境中 ...

  9. 安装typescript环境并开启VSCode自动监视编译ts文件为js文件

    一.前言 小编最近开始学习typescript,懂得人都知道,typescript是vue3的基础伴生,配合更加默契.就像vue2和js一样!typescript不像js那样浏览器直接可以解读,需要我 ...

随机推荐

  1. 深入理解Java并发容器——ConcurrentHashMap

    目录 重要属性和类 put 为什么java8后放弃分段锁,改用CAS和同步锁 初始化 addCount 扩容 树化 参考 重要属性和类 sizeCtl 容量控制标识符,在不同的地方有不同用途,而且它的 ...

  2. 「AGC021E」Ball Eat Chameleons

    「AGC021E」Ball Eat Chameleons 考虑如何判定一个合法的颜色序列. 不妨设颜色序列中有 \(R\) 个红球,\(B\) 个蓝球,所以有 \(R+B=k\). 考虑分情况讨论: ...

  3. 「CF521E」 Cycling City

    「CF521E」 Cycling City 传送门 首先你能发现这个东西一定是两个环的公共边. 最开始想的是什么如果一个点被访问过三次那它一定是公共边的某一端之类的东西,然后发现被仙人掌叉掉. 然后就 ...

  4. mindmaster导出markdown文档

    mindmaster支持多终端同步,10M免费云空间对于免费用户来说够用了,又给我的IPad增加了生产力,赞! 每次在写文章之前我都会先用mindmaster的思维导图把结构写好,然后根据结构大纲写文 ...

  5. 网页如何嵌套网页__HTML框架

    通过使用html框架,可以在一个浏览器窗口中展示多个页面.也就是一个html文件中可以引入多个html文件.在网页中框架使用比较少,但我们还是需要了解下. 方式1:iframe 使用iframe标签来 ...

  6. 聊聊 Spring AOP 的不为常知的“秘事”

    Spring AOP 在我们日常开发中扮演了一个非常重要的角色,对于如何使用 AOP 相信很多人已经不陌生,但其中有一些点却容易被我们忽视,本节我们结合一些"不为常知"的问题展开讨 ...

  7. bash shell 遍历一个数组

    var[@]  数组的一个元素 var=("first" "second" "three") for str in ${var[@]}; d ...

  8. VM虚拟机桥接模式无法联网、NAT模式能正常联网

    桥接模式:使虚拟机客户机可以和主机在同一网段,这样,和主机同局域网内的其他主机就也可以ping到虚拟机了: 因此,虚拟机设置为桥接模式,这样以后就可以方便的使用虚拟机了: 有时,虚拟机为桥接模式上不了 ...

  9. 第十篇 -- 下拉列表框QComboBox

    效果图: ui_ComboBox.py # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'ui ...

  10. 使用C#winform编写渗透测试工具--敏感目录扫描

    使用C#winform编写渗透测试工具--敏感目录扫描 由于之前在做渗透测试的时候,发现使用的工具较多,切换起来较麻烦,便萌生了开发一个包含各种渗透测试工具的小程序,包括敏感目录扫描.端口查询.子域名 ...