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

一文帶你搞懂Vue3的基本語法

 更新時間:2022年11月21日 11:06:51   作者:世界盡頭與你  
這篇文章主要給大家詳細介紹一下Vue3中的基本語法,文中的示例代碼講解詳細,對我們學習Vue3有一定的幫助,感興趣的小伙伴可以了解一下

1.通過 CDN 使用 Vue3

你可以借助 script 標簽直接通過 CDN 來使用 Vue:

<script src="https://unpkg.com/vue@next"></script>

通過 CDN 使用 Vue 時,不涉及“構建步驟”。這使得設置更加簡單,并且可以用于增強靜態(tài)的 HTML 或與后端框架集成

接下來我們從 Hello Vue!! 的代碼開始學起

<div id="hello-vue" class="demo">
    {{ message }}
</div>

<script>
    const HelloVueApp = {
        data() {
            return {
                message: 'Hello Vue!!'
            }
        }
    }
    Vue.createApp(HelloVueApp).mount('#hello-vue')
</script>

mount('#hello-vue') 將 Vue 應用 HelloVueApp 掛載到 <div id="hello-vue"></div> 中

{{ }} 用于輸出對象屬性和函數返回值

{{ message }} 對應應用中 message 的值

輸出:

data 選項是一個函數。Vue 在創(chuàng)建新組件實例的過程中調用此函數。它應該返回一個對象,然后 Vue 會通過響應性系統(tǒng)將其包裹起來,并以 $data 的形式存儲在組件實例中

我們可以在組件中添加方法,使用 methods 選項,該選項包含了所需方法的對象。

以下實例我們添加了 methods 選項,選項中包含了 increment() 方法:

<script>
    const HelloVueApp = {
        data() {
            return {
                count: 521
            }
        },
        methods: {
            increment() {
                // this 指向該組件實例
                this.count++
            }
        }
    }
    Vue.createApp(HelloVueApp).mount('#hello-vue')
</script>

2.Vue3 模板語法

Vue 使用了基于 HTML 的模板語法,允許開發(fā)者聲明式地將 DOM 綁定至底層 Vue 實例的數據。

Vue 的核心是一個允許你采用簡潔的模板語法來聲明式的將數據渲染進 DOM 的系統(tǒng)。

結合響應系統(tǒng),在應用狀態(tài)改變時, Vue 能夠智能地計算出重新渲染組件的最小代價并應用到 DOM 操作上。

文本

數據綁定最常見的形式就是使用 {{...}}的文本插值:

<div id="app">
  <p>{{ message }}</p>
</div>

Html

使用 v-html 指令用于輸出 html 代碼:

<div id="hello-vue" class="demo">
    <span v-html="rawHtml"></span>
</div>

<script>
    const HelloVueApp = {
        data() {
            return {
                rawHtml: '<span style="color: red">這里會顯示紅色!</span>'
            }
        }
    }
    Vue.createApp(HelloVueApp).mount('#hello-vue')
</script>

屬性

HTML 屬性中的值應使用 v-bind 指令

<style>
    .class1 {
        background: #444;
        color: #eee;
    }
</style>

<div id="app">
    <label for="r1">修改顏色</label><input type="checkbox" v-model="use" id="r1">
    <br/><br/>
    <div v-bind:class="{'class1': use}">
        v-bind:class 指令
    </div>
</div>

<script>
    const app = {
        data() {
            return {
                use: false
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

demo:點擊按鈕可以實現div塊變色

表達式

Vue.js 都提供了完全的 JavaScript 表達式支持

例如:

<div id="app">
    算數表達式:{{521 + 1314}}<br/>
    三目表達式:{{ok ? 'YES' : 'NO'}}<br/>
    字符串反轉:{{ message.split('').reverse().join('') }}<br/>
</div>

<script>
    const app = {
        data() {
            return {
                ok: true,
                message: 'IMUSTCTF!'
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

瀏覽器輸出:

算數表達式:1835
三目表達式:YES
字符串反轉:!FTCTSUMI

指令

指令是帶有 v- 前綴的特殊屬性。

指令用于在表達式的值改變時,將某些行為應用到 DOM 上。如下例子:

<div id="app">
    <p v-if="seen">現在你看到我了</p>
</div>

<script>
    const app = {
        data() {
            return {
                seen: true /* 改為false,信息就無法顯示 */
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

這里, v-if 指令將根據表達式 seen 的值( true 或 false )來決定是否插入 p 元素

另外還有其它很多指令,每個都有特殊的功能。例如,v-for 指令可以綁定數組的數據來渲染一個項目列表:

<div id="app">
    <ol>
        <li v-for="site in sites">
            {{ site.text }}
        </li>
    </ol>
</div>

<script>
    const app = {
        data() {
            return {
                sites: [
                    {text: 'Google'},
                    {text: 'IMUSTCTF'},
                    {text: 'Taobao'}
                ]
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

參數

參數在指令后以冒號指明。例如, v-bind 指令被用來響應地更新 HTML 屬性:

<div id="app">
    <p><a v-bind:href="url">百度網</a></p>
</div>

<script>
    const app = {
        data() {
            return {
                url: 'https://www.baidu.com'
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

在這里 href 是參數,告知 v-bind 指令將該元素的 href 屬性與表達式 url 的值綁定

也可以使用縮寫:

<a :href="url"></a>

另一個例子是 v-on 指令,它用于監(jiān)聽 DOM 事件:

<!-- 完整語法 -->
<a v-on:click="doSomething"> ... </a>

<!-- 縮寫 -->
<a @click="doSomething"> ... </a>

<!-- 動態(tài)參數的縮寫 (2.6.0+) -->
<a @[event]="doSomething"> ... </a>

3.模板用戶輸入雙向綁定

在 input 輸入框中我們可以使用 v-model 指令來實現雙向數據綁定:

<div id="app">
    <p>{{ message }}</p>
    <input v-model="message">
</div>

<script>
    const app = {
        data() {
            return {
                message: 'Dahe'
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

v-model 指令用來在 input、select、textarea、checkbox、radio 等表單控件元素上創(chuàng)建雙向數據綁定,根據表單上的值,自動更新綁定的元素的值

按鈕的事件我們可以使用 v-on 監(jiān)聽事件,并對用戶的輸入進行響應。

以下實例在用戶點擊按鈕后對字符串進行反轉操作:

<div id="app">
    <p>{{ message }}</p>
    <button v-on:click="reverseMessage">反轉字符串</button>
</div>

<script>
    const app = {
        data() {
            return {
                message: 'XIAOQIANWOAINI!'
            }
        },
        methods: {
            reverseMessage() {
                this.message = this.message
                    .split('')
                    .reverse()
                    .join('')
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

到此這篇關于一文帶你搞懂Vue3的基本語法的文章就介紹到這了,更多相關Vue3基本語法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue中$router和$route的區(qū)別詳解

    Vue中$router和$route的區(qū)別詳解

    在 Vue.js 中,$router 和 $route 是兩個常用的對象,用于處理路由相關的操作,下面小編就來和大家介紹一下$router 和 $route 的區(qū)別以及如何使用它們吧
    2023-06-06
  • Vue?elementUI表單嵌套表格并對每行進行校驗詳解

    Vue?elementUI表單嵌套表格并對每行進行校驗詳解

    element-ui中有詳細的各種表格及表格方法,下面這篇文章主要給大家介紹了關于Vue?elementUI表單嵌套表格并對每行進行校驗的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • Vuejs第十篇之vuejs父子組件通信

    Vuejs第十篇之vuejs父子組件通信

    這篇文章主要介紹了Vuejs第十篇之vuejs父子組件通信的相關資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Vue使用Sentry實現錯誤監(jiān)控

    Vue使用Sentry實現錯誤監(jiān)控

    Sentry?是一款功能強大的開源錯誤監(jiān)控服務,廣泛用于追蹤和修復應用中的異常情況,本文將詳細介紹如何在?Vue?應用中集成和使用?Sentry,感興趣的可以了解下
    2024-11-11
  • vue?cli使用iview自定義主題遇到的坑及解決

    vue?cli使用iview自定義主題遇到的坑及解決

    vue?cli使用iview自定義主題遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 淺談Vue頁面級緩存解決方案feb-alive (下)

    淺談Vue頁面級緩存解決方案feb-alive (下)

    這篇文章主要介紹了淺談Vue頁面級緩存解決方案feb-alive(下),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 深入理解Vue.js3中Reactive的實現

    深入理解Vue.js3中Reactive的實現

    reactive是Vue 3的Composition API中的一個函數,它允許你創(chuàng)建一個響應式的數據對象,本文主要介紹了深入理解Vue.js3中Reactive的實現,感興趣的可以了解一下
    2024-01-01
  • VUE腳手架具體使用方法

    VUE腳手架具體使用方法

    這篇文章主要介紹了VUE腳手架具體使用方法,vue-cli這個構建工具大大降低了webpack的使用難度,小編覺得不錯,下面就一起來了解一下具體使用方法
    2019-05-05
  • 基于Vue3創(chuàng)建一個簡單的倒計時組件

    基于Vue3創(chuàng)建一個簡單的倒計時組件

    這篇文章主要給大家介紹了基于Vue3創(chuàng)建一個簡單的倒計時組件的代碼示例,文中通過代碼示例介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2023-11-11
  • Nuxt.js 靜態(tài)資源和打包的操作

    Nuxt.js 靜態(tài)資源和打包的操作

    這篇文章主要介紹了Nuxt.js 靜態(tài)資源和打包的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論

固安县| 英山县| 陇川县| 宁河县| 高淳县| 大化| 抚松县| 梅河口市| 蚌埠市| 石城县| 宁安市| 锡林浩特市| 稻城县| 启东市| 阳信县| 三穗县| 东乌珠穆沁旗| 高雄县| 乐昌市| 平罗县| 鲁甸县| 鄂伦春自治旗| 佛冈县| 晋江市| 麻江县| 黄骅市| 介休市| 固原市| 彭州市| 建始县| 德保县| 恩施市| 如东县| 江川县| 柳州市| 成武县| 澎湖县| 新民市| 吉水县| 房山区| 应城市|