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

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

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

前言

氣勢(shì)洶涌,ts似乎已經(jīng)在來(lái)的路上,隨時(shí)可能敲門(mén)。

2015年,三大前端框架開(kāi)始火爆的時(shí)候,我還在抱著B(niǎo)ackbone不放,一直覺(jué)得可以輕易轉(zhuǎn)到其他框架去。后來(lái)?yè)Q工作,現(xiàn)實(shí)把臉都打腫了,沒(méi)做過(guò)vue、react、angular?不要!

今天,不能犯這個(gè)錯(cuò)了,畢竟時(shí)不我與,都快奔三了。

vue-cli3

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

安裝:

npm install -g @vue/cli

檢查安裝成功與否:

vue --version

創(chuàng)建項(xiàng)目:

vue create myapp

可以選擇Manually select feature來(lái)自由選擇功能,常用的有vuex、vue-router、CSS Pre-processors等,我們?cè)侔裻ypescript勾上,就可以回車(chē)進(jìn)入下一步了。PS:勾選的操作是按空格鍵。
創(chuàng)建成功之后,執(zhí)行啟動(dòng)命令:

npm run serve

就可以通過(guò)http://localhost:8080/訪問(wèn)本地項(xiàng)目啦。

typescript

如果沒(méi)有typescript基礎(chǔ),可以先補(bǔ)補(bǔ)課,大概花三十分鐘就可以了解typescript的一些特性,比如:TypeScript 入門(mén)教程。
ts最主要的一點(diǎn)就是類(lèi)型定義,有個(gè)概念才好看得懂demo。

vue-property-decorator

這是一個(gè)涵蓋了vue的一些對(duì)象的集合,我們可以從這里取一些東西出來(lái):

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

取出來(lái)的這幾個(gè)屬性,分別是 組件定義Component,父組件傳遞過(guò)來(lái)的參數(shù)Prop,原始vue對(duì)象Vue,數(shù)據(jù)監(jiān)聽(tīng)對(duì)象Watch。還包括這里沒(méi)有列舉出來(lái)的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,代碼組織有點(diǎn)散,沒(méi)有原來(lái)js書(shū)寫(xiě)的整齊。

這個(gè)demo沒(méi)有引入組件,如果需要引入組件,應(yīng)該這樣書(shū)寫(xiě):

<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é)語(yǔ)

如果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ū)其他的項(xiàng)目移除,或者把本項(xiàng)目拖動(dòng)到工作區(qū)的首位,或者在把本項(xiàng)目的tsconfig.json復(fù)制到工作區(qū)首位的項(xiàng)目的根目錄下,重啟編輯器,有比較大的概率可以解決警告提示。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    Nuxt頁(yè)面級(jí)緩存的實(shí)現(xiàn)

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

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

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

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

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

    VUE安裝使用教程詳解

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

    vue實(shí)現(xiàn)拖拽滑動(dòng)分割面板

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

最新評(píng)論

都昌县| 武夷山市| 鲁山县| 巢湖市| 崇文区| 广灵县| 丹巴县| 浮山县| 赣州市| 灵山县| 大名县| 舒城县| 宜丰县| 毕节市| 麦盖提县| 江门市| 大竹县| 辛集市| 崇仁县| 交城县| 怀安县| 县级市| 长垣县| 监利县| 绵阳市| 万盛区| 镇赉县| 民权县| 镇安县| 玛纳斯县| 特克斯县| 渑池县| 临泽县| 嘉黎县| 从化市| 辽阳市| 尚义县| 博客| 康马县| 泗水县| 万全县|