如何通过vue实例化对象访问实际ViewModel对象(2)

所以先将计算属性的函数,或是getter,setter的Object声明为any类型,再声明为你想实际使用的变量类型。如下:

declare var VM: vuejs.Vue & typeof vmComputed; var vmComputed = { /** * 字符串计算属性 */ xxcanghaiCom: <string>(<any>function () { return "xxcanghaiCom"; }), /** * getter和setter形式的字符串计算属性 */ xxcanghaiGetSet: <string>(<any>{ get: function () { return vm.xxcanghaiCom; }, set: function (newVal: string) { vm.xxcanghaiCom = newVal; } }) } var vm: typeof VM = <any>new Vue({ el: "#app", computed: <any>vmComputed });

效果如下图,虽然xxcanghaiGetSet是object,但此处可以按照我们想要的string类型来使用。

如何通过vue实例化对象访问实际ViewModel对象

后记

本文比较初级,因为刚刚开始接触Vue,因为之前用过Angular和Avalon,所以上手起来还算舒服,之前用Angular的时候就因为用TypeScript写非常难受,遂打算好好研究下TypeScript与Vue的协同工作的问题。
写的比较匆忙,vue也还没有完全了解,遂文中有不对的地方欢迎指正。:-)

关于TypeScript的推荐文章

使用Visual Studio Code开发TypeScript 

WebStorm下使用TypeScript 

TypeScript 基本语法 

TypeScript 的详细介绍请点这里
TypeScript 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b81e09aabfff4da30de05804307b9280.html