第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

Vue單文件組件支持

1. 前言

uni-app 是基于vue 的一套全端解決方案,uni-app頁面文件的開發(fā)規(guī)范遵循的是 Vue 單文件組件 (SFC) 規(guī)范。

這一小節(jié)我們主要了解一下 Vue 單文件組件規(guī)范是什么,以及 Vue 單文件組件包含的三個頂級語言塊的應用。學完之后可以更加順利的進行接下來的開發(fā)學習。

2. 什么 Vue.js 單文件組件

Vue 單文件組件主要是一個 .vue 文件,這是一個自定義的文件類型,一個 .vue 文件就是一個單文件組件。

用類 HTML 語法描述一個 Vue 組件,每個 .vue 文件包含三種類型的頂級語言塊,分別是 <template><script> 、 <style>。除了這三種類型的頂級語言塊,還允許添加可選的自定義塊。

uni-app 只支持 vue 單文件組件(.vue 組件)。其他的諸如:動態(tài)組件,自定義 render,和<script type="text/x-template">字符串模版等,在非H5端不支持。

3. 三大頂級語言塊

下面我們來介紹一下三大頂級語言塊 <template>、<script><style>。

創(chuàng)建好 .vue 文件后,vue-loader 會幫助我們解析文件,它會提取每個語言塊,將他們組裝成一個 CommonJS 模塊,默認會導出一個 Vue.js 組件對象。

3.1 創(chuàng)建 .vue 文件

我們用 HBuilderX 這個官方工具來創(chuàng)建 .vue 文件,右鍵點擊 pages 文件夾,點擊新建頁面,命名為 imoocPage。

pages 文件夾下面就會創(chuàng)建一個 imoocPage 文件夾,下面包含了一個 .vue 文件。

.vue 文件中會幫我們默認創(chuàng)建 <template>、<script><style>這三大頂級語言塊。

<template>
<view>
</view>
</template>

<script>
  export default {
    data() {
      return {
      }
  },
  methods: {
  }
}
</script>

<style>
</style>

3.2 <template> 部分

每個 .vue 文件最多包含一個 <template> 標簽。<template> 里面包含 html 代碼,在這里面定義了頁面模板,也就是頁面上顯示的內容。在 <template> 標簽的下一級只能有一個子節(jié)點元素,如果有多個子節(jié)點元素就會報錯。

正確實例:

<template>
  <view>
    ...
  </view>
</template>

錯誤實例:

<template>
  <view>
    ...
  </view>
  <view>
    ...
  </view>
</template>

3.3 <script>部分

每個 .vue 文件最多包含一個 <script> 標簽,<script> 里面包含 js 代碼,在這里面定義了頁面的數(shù)據(jù)以及邏輯函數(shù)。

這個部分默認導出是一個 Vue.js 的組件對象,也可以導出由 Vue.extend() 創(chuàng)建的擴展對象,但是Vue.js 的組件對象是更好的選擇,所以這部分了解一下就可以了,導出的部分一般不需要我們操作。

1. data對象

data 里面定義的是本頁面操作的數(shù)據(jù)變量,data 選項必須是一個函數(shù),不然 Vue 實例之間可能會相互影響。比如我們要定義一個 mark 變量:

正確實例:

data () {
  return {
    mark: 0
  }
}

錯誤實例:

data: {
  mark: 0
}

2. methods對象

methods 對象里面定義的是邏輯函數(shù),我們在里面定義一個 addMark 函數(shù),并在里面打印在上面 data 對象中定義的 mark 變量。

實例:

methods: {
  addMark () {
  //通過this.調用data對象中定義的變量
  console.log("mark變量為:",this.mark)
  }
}

3.4 <style>部分

一個 .vue 文件可以包含多個 <style> 標簽,<style> 部分比較簡單,包含 css 代碼,定義了頁面的樣式。

<style> 標簽有 scoped屬性 ,表明它的 CSS 只作用于當前組件中的元素,不同封裝模式的多個 <style>標簽可以在同一個組件中混合使用。

實例:

<style scoped>
  /* write css */
</style>

vue-loader 支持使用非默認語言,通過設置 <style> 標簽的 lang 屬性,就可以使用Sass 語法編寫樣式。

實例:

<style lang="sass">
  /* write Sass */
</style>

4. 重要屬性

Vue 單文件組件中,頂級模塊的標簽上面有幾個比較重要的屬性,我們日常開發(fā)經(jīng)常會用到,來了解一下。

4.1 lang 屬性

<style> 標簽上面,lang 屬性應用的較多,但是很多人不知道,在 <template>、<script> 標簽上面都可以通過 lang 屬性來指定使用的語言。

實例:

<template lang="jade">
  <div> {{ msg }} </div>
</template>

<script lang="ts">
  import Vue from 'vue'
  export default Vue.extend({
    data () {
      return {
        msg: 'Hello world'
      }
    }
  })
</script>

4.2 src 屬性

如果你習慣將.vue 文件分隔到多個文件中,可以通過src 屬性導入外部文件。

實例:

<template src="./template.html"></template>
<style src="./style.css"></style>
<script src="./script.js"></script>

5. 小結

Vue 單文件組件的應用大幅度提升了 uni-app 項目的開發(fā)效率、可讀性、復用性等。也大幅度降低了我們的學習成本。

Vue 單文件組件是 uni-app 項目的基礎組成部分,所以在開始開發(fā) uni-app 項目之前,我們一定要了解Vue 單文件組件的應用,不然后續(xù)的開發(fā)會有比較大的阻礙。

本節(jié)主要介紹了 Vue 單文件組件的應用,以及 <template>、<script><style>三大頂級語言塊的解析,本節(jié)的重點如下:

  • 了解 Vue 單文件組件的含義;
  • 了解并掌握三大頂級語言塊 <template>、<script><style>的應用;
  • 了解并掌握頂級模塊相關的重要屬性。