前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue中的class-based compontent

vue中的class-based compontent

作者头像
用户2845596
发布2021-01-21 15:12:07
5080
发布2021-01-21 15:12:07
举报
文章被收录于专栏:劝学劝学

class-baesd compontent这个是官方的称呼,翻译过来就是基于类的组件。 一直以来组件都是一个对象形式的,下面来认识下基于类的组件吧~

直奔用法

相比于比较常用的export一个对象,类的形式要额外引入两个包: npmvue-property-decorator。 其次我们还要在class定义前面加入@Component修饰器,这样一个简单的class-based组件就完成了。

关于修饰器的用法看这里

代码语言:javascript
复制
import Vue from 'vue'
import { Component } from 'vue-property-decorator'

@Compontent
export default class Hello extends Vue {
    // data property
    name = 'teal'
    
    // life hook
    mounted() {
        
    }
    // method
    greet() {
        console.log(`hello ${this.name}`)
    }
}
复制代码

更多组件修饰器的使用

下面两个是vue-property-decorator自带的,注意都是大写开头的

watch/computed
代码语言:javascript
复制
export default class Hello extends Vue {
    // watch的使用
    // 这里的name属性默认为null,故可以不用定义
    // 第一个参数为要监听的属性名,第二个参数为监听配置
    @Watch('name', { immidate: false, deep: true })
    toWatchName(value, oldValue) {
        
    }
    
    // computed的使用
    get computedName() {
        return `computed ${this.name}`
    }
}
复制代码

自定义的修饰器

代码语言:javascript
复制
// decorates.js

export const log = function (msg) {
  return function (target, key, descriptor) {
    let fn = descriptor.value
    descriptor.value = function () {
      console.log(`${key} calling, log ${msg}`)
      return fn.apply(this, arguments)
    }
    return descriptor
  }   
}
}
复制代码
代码语言:javascript
复制
import Vue from 'vue'
import { Component } from 'vue-property-decorator'
import { log } from './decorates.js'

@Component
export default class Hello extends Vue {
    @log('extra msg')
    greet() {
        // do stuff
    }
}
复制代码

还有一个vue-class-component我们下次再讲


参考:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 直奔用法
    • 更多组件修饰器的使用
      • watch/computed
    • 自定义的修饰器
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档