最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-cli3+typescript初體驗小結(jié)

 更新時間:2019年02月28日 10:06:32   作者:陳其文  
這篇文章主要介紹了vue-cli3+typescript初體驗小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

氣勢洶涌,ts似乎已經(jīng)在來的路上,隨時可能敲門。

2015年,三大前端框架開始火爆的時候,我還在抱著Backbone不放,一直覺得可以輕易轉(zhuǎn)到其他框架去。后來換工作,現(xiàn)實把臉都打腫了,沒做過vue、react、angular?不要!

今天,不能犯這個錯了,畢竟時不我與,都快奔三了。

vue-cli3

vue-cli3的詳細功能推薦官方文檔,不在本文介紹范圍內(nèi)。

安裝:

npm install -g @vue/cli

檢查安裝成功與否:

vue --version

創(chuàng)建項目:

vue create myapp

可以選擇Manually select feature來自由選擇功能,常用的有vuex、vue-router、CSS Pre-processors等,我們再把typescript勾上,就可以回車進入下一步了。PS:勾選的操作是按空格鍵。
創(chuàng)建成功之后,執(zhí)行啟動命令:

npm run serve

就可以通過http://localhost:8080/訪問本地項目啦。

typescript

如果沒有typescript基礎,可以先補補課,大概花三十分鐘就可以了解typescript的一些特性,比如:TypeScript 入門教程。
ts最主要的一點就是類型定義,有個概念才好看得懂demo。

vue-property-decorator

這是一個涵蓋了vue的一些對象的集合,我們可以從這里取一些東西出來:

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

取出來的這幾個屬性,分別是 組件定義Component,父組件傳遞過來的參數(shù)Prop,原始vue對象Vue,數(shù)據(jù)監(jiān)聽對象Watch。還包括這里沒有列舉出來的Model,EmitInject,Provide,可以自己嘗試下。

demo

<template>
 <div class="hello">
  <h1>{{ msg }}--{{ names }}</h1>
  <input type="text" v-model="txt">
  <p>{{ getTxt }}</p>
  <button @click="add">add</button>
  <p>{{ sum }}</p>
 </div>
</template>

<script lang="ts">
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';

@Component
export default class HelloWorld extends Vue {
 //props
 @Prop() private msg!: string
 @Prop() private names!: string
 //data
 private txt: string = '1'
 private sum: number = 0
 //computed
 get getTxt(){
  return this.txt
 }
 //methods
 private add(){
  this.sum++
  console.log(`sum : ${this.sum}`)
 }
 //生命周期
 created(){
  console.log('created')
 }
 //watch
 @Watch('txt') 
 changeTxt(newTxt: string, oldTxt: string){
  console.log(`change txt: ${oldTxt} to ${newTxt}`)
 }
 
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
h3 {
 margin: 40px 0 0;
}
input {
 width: 240px;
 height: 32px;
 line-height: 32px;
}
</style>

以上就是demo,代碼組織有點散,沒有原來js書寫的整齊。

這個demo沒有引入組件,如果需要引入組件,應該這樣書寫:

<template>
 <div class="home">
  <img alt="Vue logo" src="../assets/logo.png">
  <HelloWorld msg="Welcome to Your Vue.js + TypeScript App" names="aaa" />
  <HelloWorld2 msg="Welcome to Your Vue.js + TypeScript App" names="bbb" />
 </div>
</template>

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import HelloWorld from '@/components/HelloWorld.vue'; // @ is an alias to /src
import HelloWorld2 from '@/components/HelloWorld2.vue'; // @ is an alias to /src

@Component({
 components: {
  HelloWorld,
  HelloWorld2,
 },
})
export default class Home extends Vue {}
</script>

結(jié)語

如果VSCode編輯器有警告提示,比如:

Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.

可以把工作區(qū)其他的項目移除,或者把本項目拖動到工作區(qū)的首位,或者在把本項目的tsconfig.json復制到工作區(qū)首位的項目的根目錄下,重啟編輯器,有比較大的概率可以解決警告提示。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue.js實現(xiàn)雙擊放大預覽功能

    vue.js實現(xiàn)雙擊放大預覽功能

    這篇文章主要為大家詳細介紹了vue.js實現(xiàn)雙擊放大預覽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Vue實現(xiàn)子組件向父組件傳遞多個參數(shù)的方法

    Vue實現(xiàn)子組件向父組件傳遞多個參數(shù)的方法

    在Vue框架中,組件間的通信是一個常見的需求,特別是在子組件需要向父組件傳遞多個參數(shù)時,合理的通信方式可以顯著提升代碼的可讀性和可維護性,本文將詳細介紹如何在Vue中實現(xiàn)子組件向父組件傳遞多個參數(shù),需要的朋友可以參考下
    2024-10-10
  • vue?導入js中的兩種方法(示例詳解)

    vue?導入js中的兩種方法(示例詳解)

    這篇文章主要介紹了vue?導入js中的方法,本文通過兩種方法結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 淺析Vue.js 中的條件渲染指令

    淺析Vue.js 中的條件渲染指令

    這篇文章主要介紹了Vue.js 中的條件渲染指令,Vue.js 中的條件渲染指令可以根據(jù)表達式的值,來決定在 DOM 中是渲染還是銷毀元素或組件。本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Vue WatchEffect函數(shù)創(chuàng)建高級偵聽器

    Vue WatchEffect函數(shù)創(chuàng)建高級偵聽器

    watchEffect傳入的函數(shù)會被立即執(zhí)行一次,并且在執(zhí)行的過程中會收集依賴;其次,只有收集的依賴發(fā)生變化時,watchEffect傳入的函數(shù)才會再次執(zhí)行
    2023-03-03
  • Nuxt頁面級緩存的實現(xiàn)

    Nuxt頁面級緩存的實現(xiàn)

    這篇文章主要介紹了Nuxt頁面級緩存的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • vue單頁緩存存在的問題及解決方案(小結(jié))

    vue單頁緩存存在的問題及解決方案(小結(jié))

    這篇文章主要介紹了vue單頁緩存存在的問題及解決方案(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue-cli構(gòu)建項目使用 less的方法

    vue-cli構(gòu)建項目使用 less的方法

    這篇文章主要介紹了vue-cli構(gòu)建項目使用 less,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • VUE安裝使用教程詳解

    VUE安裝使用教程詳解

    這篇文章主要介紹了安裝使用VUE的教程,本文給大家提到了遇到的問題原因分析及解決方法,需要的朋友可以參考下
    2019-06-06
  • vue實現(xiàn)拖拽滑動分割面板

    vue實現(xiàn)拖拽滑動分割面板

    這篇文章主要為大家詳細介紹了vue實現(xiàn)拖拽滑動分割面板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論

息烽县| 平遥县| 铁力市| 广州市| 云梦县| 浦东新区| 云和县| 临朐县| 永靖县| 衡阳县| 长沙县| 鲁甸县| 望都县| 当涂县| 盐边县| 甘洛县| 增城市| 玉龙| 两当县| 宜君县| 微山县| 那坡县| 沿河| 沁水县| 青岛市| 昭苏县| 横山县| 宝坻区| 琼中| 泾源县| 莆田市| 古蔺县| 景洪市| 晋江市| 射阳县| 泰来县| 甘孜| 烟台市| 林西县| 准格尔旗| 全南县|