Vue components using typescript 2.0 with compatibility layer between version 1 and 2 of vue and vue-router
Live Examples (found in docs/vue1 and docs/vue2)
Unlike other integrations, this does not rely on annotations/decorators (runtime introspection overhead) but instead encourages keeping it simple and light like writing components in es6/es2015 (WYSIWYG).
For simple components, one can simply take advantage of this typescript 2.0 feature where you can specify the type of this
for functions.
Here's a sample component with inheritance (live demo):
main.ts (vue 1.0.x)
declare ; Vue.useRouterrouter.maprouter.redirectrouter.beforeEachrouter.startrequire'./App.vue', '#app'
main.ts (vue 2.0.x)
declare ; Vue.useRouter app.router = new Routerconfignew Vueapp.$mount'#app'