1. 程式人生 > >【Vue.js】Vue官方文件學習-介紹

【Vue.js】Vue官方文件學習-介紹

一、Vue.js是什麼?

Vue.js是一套構建使用者介面的漸進式框架。
Vue 從根本上採用最小成本漸進增量的設計。
Vue 的核心庫只專注於檢視層
當與單檔案元件和 Vue 生態系統支援的庫結合使用時,Vue 也完全能夠為複雜的單頁應用程式提供有力驅動

二、安裝

直接引入< script >標籤

三、宣告式渲染

Vue.js 的核心是:可以採用簡潔的模板語法來宣告式的將資料渲染為 DOM

//  文字插值方式渲染
<div id="app">
  {{ message }}
</div>

----------

var app = new Vue
({ el: '#app', data: { message: 'Hello Vue!' } })

類似於渲染一個字串模板,但是 Vue 在背後做了大量工作。
資料DOM 已經被關聯在一起,所有的資料和 DOM 都是響應式的。
現在設定 app.message 的值,你將看到示例所渲染的 DOM 元素會相應地更新。

//  繫結DOM元素屬性
<div id="app-2">
  <span v-bind:title="message">
    滑鼠懸停此處幾秒,
    可以看到此處動態繫結的 title!
  </span>
</div> ---------- var app2 = new Vue({ el: '#app-2', data: { message: '頁面加載於 ' + new Date().toLocaleString() } })

v-bind 屬性被稱為指令。指令帶有字首 v-,表示是由 Vue 提供的專用屬性。
指令會在渲染的 DOM 上產生專門的響應式行為
該指令的作用就是:“將此元素的 title 屬性與 Vue 例項的 message 屬性保持關聯更新”。

四、條件

控制一個元素的顯示

<div id="app-3">
  <span v-if
="seen">現在你可以看到我</span> </div> ---------- var app3 = new Vue({ el: '#app-3', data: { seen: true } })

繼續在控制檯輸入 app3.seen = false,你應該會看到 span 消失。
我們不只是可以將資料繫結到文字和屬性,也可以將資料繫結到 DOM 結構

五、迴圈

v-for 指令,可以使用陣列中的資料來展示一個專案列表

<div id="app-4">
  <ol>
    <li v-for="todo in todos">
      {{ todo.text }}
    </li>
  </ol>
</div>


----------


var app4 = new Vue({
  el: '#app-4',
  data: {
    todos: [
      { text: '學習 JavaScript' },
      { text: '學習 Vue' },
      { text: '建立激動人心的程式碼' }
    ]
  }
})

輸入 app4.todos.push({ text: ‘新的 item’ }),你會看到列表中追加了一個新的 item。

六、處理使用者輸入

為了讓使用者和你的應用程式進行互動,我/們可以使用 v-on 指令 來增加事件監聽器,觸發事件後會呼叫 Vue 例項中 methods 下定義的方法:

<div id="app-5">
  <p>{{ message }}</p>
  <button v-on:click="reverseMessage">翻轉 message</button>
</div>


----------


var app5 = new Vue({
  el: '#app-5',
  data: {
    message: 'Hello Vue.js!'
  },
  methods: {
    reverseMessage: function () {
      this.message = this.message.split('').reverse().join('')
    }
  }
})

注意,在 reverseMessage 方法中,我們更新了應用程式的狀態,而無需觸及 DOM
所有的 DOM 操作都由 Vue 來處理,你所編寫的程式碼只需要關注於底層邏輯

七、雙向繫結

v-model指令

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


----------


var app6 = new Vue({
  el: '#app-6',
  data: {
    message: 'Hello Vue!'
  }
})

八、由元件組合而成的應用程式

元件系統是一種抽象,可以讓我們使用小型、自成體系和通常可複用的元件,把這些組合來構建大型應用程式。
這裡寫圖片描述

註冊元件

在 Vue 中,一個元件本質上是一個被預先定義選項的 Vue 例項,在 Vue 中註冊元件很簡單:

//  定義一個被命名為 todo-item 的新元件
Vue.component('todo-item', {
  // todo-item 元件現在接受一個 "prop",
  // 類似於一個自定義屬性。
  // 此 prop 名為 todo。
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
})

使用元件

<ol>
  <!-- 建立一個 todo-item 元件的例項 -->
  <todo-item></todo-item>
</ol>

使用v-bind指令將todo傳入每個重複的元件中

<div id="app-7">
  <ol>
    <!--
      現在我們為每個 todo-item 提供了 todo 物件,
      其中它的內容是動態的。
      我們還需要為每個元件提供一個 "key",
      這將在之後詳細解釋。
    -->
    <todo-item
      v-for="item in groceryList"
      v-bind:todo="item"
      v-bind:key="item.id">
    </todo-item>
  </ol>
</div>
Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
})

var app7 = new Vue({
  el: '#app-7',
  data: {
    groceryList: [
      { id: 0, text: '蔬菜' },
      { id: 1, text: '乳酪' },
      { id: 2, text: '其他人類食物' }
    ]
  }
})

我們已經將應用程式分為兩個更小的單位子元件通過 props 介面,與父元件之間形成了相當合理的解耦。我們現在可以進一步對 元件進行更復雜的模板配置和邏輯方面的改進,而不會影響到父元件。

相關推薦

Vue.jsVue官方學習-介紹

一、Vue.js是什麼? Vue.js是一套構建使用者介面的漸進式框架。 Vue 從根本上採用最小成本、漸進增量的設計。 Vue 的核心庫只專注於檢視層。 當與單檔案元件和 Vue 生態系統支援的庫結合使用時,Vue 也完全能夠為複雜的單頁應用程式提供有

vue.js 2.0 官方學習筆記 —— 01. vue 介紹

lan fun 數據 特性 sem https 代碼 guide pos 這是我的vue.js 2.0的學習筆記,采取了將官方文檔中的代碼集中到一個文件的形式。目的是保存下來,方便自己查閱。 !官方文檔:https://cn.vuejs.org/v2/guide/ 01.

Vue.jsVue官方學習-Vue例項

一、建立一個Vue例項 var vm = new Vue({ // 選項 }) 每個Vue應用程式都是通過Vue函式創建出一個新的Vue物件開始的。 通常我們使用變數 vm (ViewModel 的簡稱) 來表示 Vue 例項。 在建立一個 Vu

vue.js---加載JSON的兩種方式

發現 bsp 配置文件 方式 error clas api 引入 lan 本周的項目有個需求,需要把打包好的項目,通過直接變更JSON的配置文件,動態的渲染頁面。。 這裏我嘗試了兩種方式: 方法一: 通過import直接引入,直接調用data即可獲取json文件的內容。

Python內建函式詳解翻譯自python3.6官方共68個

翻譯源 來自:https://docs.python.org/3/library/functions.html  abs(x) 返回一個數的絕對值。引數可以是一個整數或一個浮點數。若引數是複數,返回複數的模 all(iterable) 若 可迭代物件中所有元素為真

專欄 - Android官方編譯和實踐

專注於微軟System Center和微軟公有云,私有云系列產品,主要使用C#,.NET和PHP進行個人愛好開發。 曾參與Windows Azure Integration Pack for Orchestrator in System Center 2012 SP1的開發和測試。 Syst

VUE/JSvuejs禁止瀏覽器頁面後退

屬性 flag 條件 set 存在 都是 判斷 java 很大的 1、vue 禁止瀏覽器後退需求是:需要某個路由不能通過瀏覽器返回,同時不影響相互之間的切換整理一下解決方法 和 使用方法: 1.在路由配置中給這個路由添加meta信息,比如: { path: ‘/home

小工具在新夾中打開快捷方式所指向的

快捷 簡單 快速 image 文件 行程 images rdquo blog 最近在整理所有曾安裝過的小程序,發現Windows系統默認右鍵菜單中的定位目標功能只會在當前文件夾中打開。如果要刪除所指向的文件夾之後,就無法再利用退回功能快速回到之前的文件夾了。 所以我就寫了

設計開發 Linux C創建Open函數

include == code pan lin his class trunc types.h #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>

敏捷開發從"需求"出發聊敏捷

做這項調研的初心是什麼? 需求文件解析成本太高,還存在高風險。 RD解析一遍,QA解析一遍。而且還存在風險 讓產品開發過程更加和諧,而不是緊張和對峙 需求的使用者視角,非PM,RD視角 當自問心中的使用者形象時,看到的是自己。 先解釋一些

辦公-WORDWord限制部分可編輯(可編輯的限制

1      原理 “審閱->保護->限制編輯->編輯限制”,勾選“僅允許在文件中進行此型別的編輯:”並選擇“填寫窗體”。這就意味著你可以編輯填寫窗體來達到修改限制文件的目的。 2      設定步驟 1、選擇合適的窗體控制元件,將Word排好版。窗體

大資料實驗三 倒排索引演算法

實驗三 文件倒排索引演算法 151220129 計科 吳政億 [email protected] 151220130 計科 伍昱名 [email protected] 151220135 計科 許麗軍 [email prote

軟體工程——軟工(GB8567--88)

一.簡介 軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程式設計語言、資料庫、軟體開發工具、系統平臺、標準、設計模式等方面。 軟工中主要的六階段:制定計劃,需求分

流程規範API介面規範

介面名稱 前置主動還款申請(/payBill) 介面描述 返回格式:json 請求方式:GET/ POST 介面備註:根據傳入的key和qq號碼發起還款的申請 請

軟工軟工——可行性研究報告

  可行性研究報告算是系統開發的一個起點,可行性研究報告是在軟體定義階段編寫的一個報告,也是自己著手去寫的第一份文件。從中再一次體會到了編寫文件的嚴謹性,對軟工思想概念的認識。 可行性研究報告 1引言 1.1編寫目的        此可行性研究報告對《機房收費管理系統

OpenCV-Python 官方學習

影象學習: 目標: 1.在這裡你會學習到如何讀取一個影象,如何取顯示並且儲存它。 2.你將徐匯這些方法:cv2.imread() , cv2.imshow() , cv2.imwrite() ; 3.自然而然的你就學會了如何使用Matplotlib庫去顯示圖片。 OpenCV的使用

webpack官方學習

安裝依賴的簡寫說明:以vue為例 cnpm i vue -S   // 生產依賴   等價於 --save  cnpm i vue-loader css-loader vue-template-compiler -D 

第三天 docker 官方學習安裝

Docker 安裝 目前Docker 有2個版本一個是docker-ce 和docker-ee: Docker Engine改為Docker CE(社群版) Docker Data Center改為Docker EE(企業版) Docker CE 和Docker EE。Docker CE

elasticsearch官方學習筆記----Getting Started

Getting Started 基本概念 1)準實時:ES搜尋是一個接近實時的搜尋平臺。這意味著從您索引一個文件的時間到它可搜尋的時間,有一個輕微的延遲(通常是一秒)。 2)叢集:ES是一個叢集,一個叢集由一個惟一的名稱標識id,預設情況下是“elasticsearch

elasticsearch官方學習筆記----ElasticSearch引數配置

配置ElasticSearch 主要介紹了ES啟動前 重要的基本配置 重要的系統基本配置 設定JVM引數 此檔案的預設位置是config/jvm.options(從tar或zip發行版/etc/elasticsearch/jvm.options安裝時)和(從Debi