解决方案1.
解决方案2.
新建一个 ****.d.ts 文件(名字你自己起吧), 这个.d.ts文件不能写import 或export 这种能让他变成模块化的东西,如果让这个文件变成模块化文件 就识别不到 你加的这个属性声明了
在window对象中加入新的变量,ts会提示 The property 'MyNamespace' does not exist on value of type 'window' any" 即找不到变量所以需要为window声明这个变量:
对于那种复杂的结构要接口去限制
这边还用到了一个 范型 ,范型就是说类型是动态传的
ts中使用vue会频繁用到装饰器,比如
什么是装饰器函数,就是说把后面传入的内容,做一种转换然后输出。就像一个工厂,拿到原料生成对应的产品一样。这边的 @Component 就是把后面的一部分的类转成一个组件,这边细心的人肯定注意到为什么有些后面还加个括号。加个括号可以理解为装饰器添加了一些新的配置参数,也就是说成了一个新的装饰器。
再比方说
更有那种面向对象的感觉了是不是,比如要实现Vue中的computed
生命周期hook肯定是很常用的,ts中写起来更加的简单了(个人观点)
constructor() 早于crate() 这个应该很好理解,是不是先要声明data
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)