码迷,mamicode.com
首页 > 其他好文 > 详细

[Vue @Component] Extend Vue Components in TypeScript

时间:2018-08-03 01:04:34      阅读:471      评论:0      收藏:0      [点我收藏+]

标签:div   ted   string   ESS   type   tree   should   from   hooks   

This lesson shows how you can extend and reuse logic in Vue components using TypeScript inheritance. It will take you through extending a component, its properties and methods, and how hooks are triggered along the inheritance tree.

 

We can define a Parent.ts file, which only contains the logic without any template:

import { Component, Vue } from ‘vue-property-decorator‘;

@Component
export default class Parent extends Vue {
    created() {
        console.log("Parent is created")
    }

    click() {
        console.log("Parent is clicked")
    }

    parentClicked() {
        console.log("Parent is clicked")
    }
}

 

Then we can extends this Parent Class from a vue component:

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h2>{{ fullMessage }}</h2>
    <button @click="click">Click</button>
    <button @click="parentClicked">Parent Click</button>
  </div>
</template>

<script lang="ts">
import { Component, Prop, Vue } from ‘vue-property-decorator‘;
import Parent from ‘./Parent‘;

@Component
export default class HelloWorld extends Parent {
  @Prop() private msg!: string;

  // replace computed props
  get fullMessage() {
    return `${this.msg} should be fullmessage from a getter`
  }

  created() {
    console.log("Component is created")
  }

  click() {
    alert(‘Should replace what used to be defined in methods objects‘)
  }
}
</script>

 

Once we extends from Parent, HelloWorld Component can inherit its Parent class‘s methods and props.

 For example:

Will call parentClicked method from Parent Class from HelloWorld Component.

<!-- HelloWorld.vue -->
<button @click="parentClicked">Parent Click</button>

 

If we don‘t define ‘click‘ method in HelloWolrd component, it will using Parent‘s click() method.

[Vue @Component] Extend Vue Components in TypeScript

标签:div   ted   string   ESS   type   tree   should   from   hooks   

原文地址:https://www.cnblogs.com/Answer1215/p/9410784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!