vue-property-decorator


一庐完、首先 下載

npm install vue-class-component vue-property-decorator --save-dev

二、vue-class-component 和 vue-property-decorator 的區(qū)別與聯(lián)系

  • vue-property-decorator社區(qū)出品鸿市;vue-class-component官方出品

  • vue-class-component提供了Vue、Component等浙芙;

  • vue-property-decorator深度依賴了vue-class-component喜命,拓展出了更多操作符:@Prop、@Emit乾蓬、@Inject惠啄、@Model、@Provide巢块、@Watch礁阁;

三 、開發(fā)時正常引入vue-property-decorator就行

1. 引入后寫vue代碼就是如此族奢,
import {Component, Prop, Vue} from 'vue-property-decorator'

@Component
export default class App extends Vue {
  name:string = 'Simon Zhang'

  // computed
  get MyName():string {
    return `My name is ${this.name}`
  }

  // methods
  sayHello():void {
    alert(`Hello ${this.name}`)
  }

  mounted() {
    this.sayHello();
  }
}

相當于

export default {
  data () {
    return {
      name: 'Simon Zhang'
    }
  },

  mounted () {
    this.sayHello()
  },

  computed: {
    MyName() {
      return `My name is ${this.name}`
    }
  },

  methods: {
    sayHello() {
      alert(`Hello ${this.name}`)
    },
  }
}

四、總結(jié)

1丹鸿、寫法問題:引入組件和接收父組件傳過來的參數(shù)

@Component({
  components: {
    XXXX
  },
  props: {
    mapFlag: Number
  }
})

2越走、獲取refs,在其后面加上as HTMLDivElement(不知道是不是這插件引起的靠欢,懶得管廊敌,直接干就是)

let layoutList:any = this.$refs.layout as HTMLDivElement
或
let fieldCalculate:any = (this as any).$refs.fieldCalculate

3、ts文件 公用方法導(dǎo)出

const xxx = (value: any, type: string) => {
  ...
}
export { xxx, xxx, xxx, xxx }

4门怪、引入裝飾器骡澈,使用方式@Watch

import { Component, Prop, Watch, Emit } from 'vue-property-decorator'

5、引用插件掷空。在shims-vue.d.ts 文件中聲明肋殴,再在組件中引用

declare module 'vuedraggable' {
  const vuedraggable: any;
  export default vuedraggable;
}

6、@Watch使用

// 監(jiān)聽formula 其變化則顯示驗證公式按鈕

    @Watch('formula', { deep: true, immediate: true }) formulaWatch (newVal:string, oldVal:string) {
      if (newVal !== oldVal) {
       this.grammarSuccess = true
       this.errMsgFlag = false
       this.checkFormulaSuccess = false
      }
    }

7坦弟、計算屬性方法寫法(跟@watch一樣护锤,當成方法寫就行;加一個關(guān)鍵字get)

get aTagDatasFcomput () {
 // computed計算屬性酿傍, 過濾出visible為true的對象來渲染烙懦,
因為當 v-if 與 v-for 一起使用時,v-for 具有比 v-if 更高的優(yōu)先級赤炒,這意味著 v-if 將分別重復(fù)運行于每個 v-for 循環(huán)中
      return this.aTagDatasF.filter(item => item.visible)
}

8氯析、@Prop的用法

@Prop({
      type: Boolean, // 父組件傳遞給子組件的數(shù)據(jù)類型
      required: false, // 是否必填
      default: false // 默認值亏较, 如果傳入的是 Object,則要 default: ()=>({}) 參數(shù)為函數(shù)
  }) collapsed !: boolean
@Prop()private datas!: any
感嘆號是非null和非undefined的類型斷言掩缓,所以上面的寫法就是對datas這個屬性進行非空斷言

9宴杀、ts設(shè)置html的fontSize

let docEl = document.documentElement as HTMLDivElement // 加上 as HTMLDivElement

獲取時:(不加會報錯Object is possibly 'null'. 真是一波騷操作)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拾因,隨后出現(xiàn)的幾起案子旺罢,更是在濱河造成了極大的恐慌,老刑警劉巖绢记,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扁达,死亡現(xiàn)場離奇詭異,居然都是意外死亡蠢熄,警方通過查閱死者的電腦和手機跪解,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來签孔,“玉大人叉讥,你說我怎么就攤上這事〖⒆罚” “怎么了图仓?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長但绕。 經(jīng)常有香客問我救崔,道長,這世上最難降的妖魔是什么捏顺? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任六孵,我火速辦了婚禮,結(jié)果婚禮上幅骄,老公的妹妹穿的比我還像新娘劫窒。我一直安慰自己,他們只是感情好拆座,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布主巍。 她就那樣靜靜地躺著,像睡著了一般懂拾。 火紅的嫁衣襯著肌膚如雪煤禽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天岖赋,我揣著相機與錄音檬果,去河邊找鬼。 笑死,一個胖子當著我的面吹牛选脊,可吹牛的內(nèi)容都是我干的杭抠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼恳啥,長吁一口氣:“原來是場噩夢啊……” “哼偏灿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钝的,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤翁垂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后硝桩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沿猜,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年碗脊,在試婚紗的時候發(fā)現(xiàn)自己被綠了啼肩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡衙伶,死狀恐怖祈坠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情矢劲,我是刑警寧澤赦拘,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站卧须,受9級特大地震影響另绩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜花嘶,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蹦漠。 院中可真熱鬧椭员,春花似錦、人聲如沸笛园。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽研铆。三九已至埋同,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棵红,已是汗流浹背凶赁。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人虱肄。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓致板,卻偏偏與公主長得像,于是被迫代替她去往敵國和親咏窿。 傳聞我的和親對象是個殘疾皇子斟或,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • vue-property-decorator 這個組件完全依賴于vue-class-component.它具備以下...
    Homary閱讀 143,664評論 13 123
  • 在Vue中使用Typescript,通過vue-property-decorator裝飾器庫來簡化書寫。vue-p...
    前端girl吖閱讀 8,395評論 0 3
  • 在Vue中使用TypeScript時集嵌,非常好用的一個庫萝挤,使用裝飾器來簡化書寫。注:非商業(yè)轉(zhuǎn)載文章出處鏈接:http...
    Shuffle_5354閱讀 2,836評論 0 5
  • vue-property-decorator 本文翻譯自 vue-property-decorator 這個庫徹底...
    卡拉咖啦閱讀 1,214評論 0 0
  • “那你就繼續(xù)生氣吧” 租住在一起的第二十天根欧,臨睡前怜珍,他對她說了這句話。 望著煞白的墻壁咽块,兩顆淚珠順著眼瞼滑落進頭發(fā)...
    泥塢繞竹閱讀 151評論 0 0