首頁 web前端 js教程 Vue.js基礎知識匯總_其它

Vue.js基礎知識匯總_其它

May 16, 2016 pm 03:03 PM
vue.js

介紹

vue.js 是用來建構web應用介面的一個函式庫

技術上,Vue.js 重點集中在MVVM模式的ViewModel層,它連接視圖和資料綁定模型透過兩種方式。實際的DOM操作和輸出格式被抽象的方式到指令(Directives)和過濾器(Filters)

在哲學領域內,盡量讓MVVM資料綁定API盡可能簡單。模組化和可組合性也是重要的設計考量。 vue不是一個全面的框架,它被設計成簡單的和靈活的。你可以用它快速原型,或混合和匹配與其他庫定義前端堆疊。

Vue。 js的API是參考了AngularJS、KnockoutJS Ractive.js Rivets.js。儘管有相似之處,我相信Vue.js提供一個有價值能夠讓你在現在的一些現有框架中捨取其價值

即使你已經熟悉其中的一些術語,建議您通過以下概念的概述,因為你的這些術語的概念可能在Vue.js的下文中有所不同

概念概述

ViewModel

一個物件,同步模型與視圖. 在Vue.js中,ViewModels是實例化的Vue的建構器或是它的子類別

var vm = new Vue({ /* options */ })
登入後複製

這是主要的物件,你會與作為開發人員在使用Vue.js互動。更多細節請參考Class: Vue.

View

使用者看到的實際HTML / DOM

vm.$el // The View
登入後複製


使用Vue.js時候,除了自己自訂的指令你幾乎不會碰到DOM的操作,當資料更新後視圖的更新將會自動的觸發,視圖的更新可以很精確的到每一個testNode節點,他們也批處理和非同步執行從而提供更好的性能。

Model

這是一個略微修改的Javascript物件

vm.$data // The Model
登入後複製

在Vue.js中,模型只是簡單的Javascript物件,資料物件,你能夠操控他們的屬性和視圖模型,觀察他們的從而能獲取通知後更改。 Vue.js在data物件胡總用ES5的 getter/setter 把屬性轉換了,它允許直接操作而不需要髒檢查。

data物件在適當的時候會產生突變,所以修改它與透過引用修改vm.$data是一樣的效果。這也方便了多個ViewModel實例觀察同一塊資料。

技術細節請看Instantiation Options: data.

Directives

私有的HTML屬性是告訴Vue.js做一些關於DOM的處理

<div v-text="message"></div>
登入後複製

這裡的div元素有v-text的指令,值是message.意思是告訴Vue.js 保持這個div節點的內容與viewMode中的message屬性同步

指令可以封裝任意DOM操作。例如v-attr 操作一個屬性元素,v-repeat克隆基於數組的一個元素,v-on附加事件監聽,我們稍後討論.

Mustache Bindings

您也可以使用mustache-style綁定,在文字和屬性。他們翻譯成v-text v-attr指令。例如:

<div id="person-{{id}}">Hello {{name}}!</div>
登入後複製

雖然方便,但有幾件事你需要注意的:

如果設定一個image的src屬性的時候,會發送一個HTTP請求,所以當模板是第一次解析出現404,此時用v-attr比較好

當解析HTML的時候,Internet Explorer將會刪除無效的內部style屬性,所以我們想要支援IE綁定內聯的CSS 我就總是用v-style

在v-html內部,非轉義的HTML你能用三個大括號{{{像這樣}}}處理,但是這樣會有潛在的XSS攻擊,能打開windows,所以建議是絕對安全的資料全的時候才這樣做,或是透過自訂管道過濾器清理不可信的HTML

Filters

在更新視圖之前可以用函數來處理這個原始的資料。他們正在用一個「管道」指令或綁定:

<div>{{message | capitalize}}</div>
登入後複製

現在在div的文字內容要更新之前,這個message的值將會透過capitalize函數處理。詳細請看Filters in Depth.

Components

在Vue.js,一個元件是一個簡單的視圖模型建構函數,透過Vue.component(ID, constructor)註冊。透過一個關聯的ID,可以嵌套另外的視圖模型的模板的v-component指令。這種簡單的機制使聲明視圖模型的重用和組合方式類似於Web元件,而不需要最新的瀏覽器或重型polyfills。透過將應用程式分解成更小的元件,其結果是一個高度解耦和可維護的程式碼庫。更多細節,請參閱Composing ViewModels.

A Quick Example

<div id="demo">
  <h1>{{title | uppercase}}</h1>
  <ul>
    <li
      v-repeat="todos"
      v-on="click: done = !done"
      class="{{done &#63; 'done' : ''}}">
      {{content}}
    </li>
  </ul>
</div>
登入後複製
 
var demo = new Vue({
  el: '#demo',
  data: {
    title: 'todos',
    todos: [
      {
        done: true,
        content: 'Learn JavaScript'
      },
      {
        done: false,
        content: 'Learn vue.js'
      }
    ]
  }
})

登入後複製

粗略翻譯,有錯誤請指出

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vue中組件化和模組化有什麼區別 vue中組件化和模組化有什麼區別 Dec 15, 2022 pm 12:54 PM

組件化和模組化的區別:模組化是從程式碼邏輯的角度進行劃分的;方便程式碼分層開發,確保每個每個功能模組的職能一致。元件化是從UI介面的角度進行規劃;前端的元件化,方便UI元件的重複使用。

深入探討vite是怎麼解析.env檔的 深入探討vite是怎麼解析.env檔的 Jan 24, 2023 am 05:30 AM

使用vue框架開發前端專案時,我們部署的時候都會部署多套環境,往往開發、測試以及線上環境呼叫的介面網域都是不一樣的。如何能做到區分呢?那就是使用環境變數和模式。

實戰:vscode中開發一個支援vue檔案跳到定義的插件 實戰:vscode中開發一個支援vue檔案跳到定義的插件 Nov 16, 2022 pm 08:43 PM

vscode本身是支援vue檔案元件跳到定義的,但是支援的力道是非常弱的。我們在vue-cli的配置的下,可以寫出很多彈性的用法,這樣可以提升我們的生產效率。但是正是這些靈活的寫法,導致了vscode本身提供的功能無法支援跳到檔案定義。為了相容於這些靈活的寫法,提高工作效率,所以寫了一個vscode支援vue檔案跳到定義的插件。

圖文詳解如何在Vue專案中整合Ace程式碼編輯器 圖文詳解如何在Vue專案中整合Ace程式碼編輯器 Apr 24, 2023 am 10:52 AM

Ace 是一個用 JavaScript 寫的可嵌入程式碼編輯器。它與 Sublime、Vim 和 TextMate 等原生編輯器的功能和效能相符。它可以很容易地嵌入到任何網頁和 JavaScript 應用程式中。 Ace 被維護為Cloud9 IDE的主要編輯器 ,並且是 Mozilla Skywriter (Bespin) 專案的繼承者。

探討如何在Vue3中撰寫單元測試 探討如何在Vue3中撰寫單元測試 Apr 25, 2023 pm 07:41 PM

在當今前端開發中,Vue.js 已經成為了一個非常流行的框架。隨著 Vue.js 的不斷發展,單元測試變得越來越重要。今天,我們將探討如何在 Vue.js 3 中編寫單元測試,並提供一些最佳實踐和常見的問題及解決方案。

深入聊聊vue3中的reactive() 深入聊聊vue3中的reactive() Jan 06, 2023 pm 09:21 PM

前言:在vue3的開發中,reactive是提供實現響應式資料的方法。日常開發這個是使用頻率很高的api。這篇文章筆者就來探索其內部運作機制。

淺析Vue3動態組件怎麼進行異常處理 淺析Vue3動態組件怎麼進行異常處理 Dec 02, 2022 pm 09:11 PM

Vue3動態元件怎麼進行異常處理?以下這篇文章帶大家聊聊Vue3 動態元件異常處理的方法,希望對大家有幫助!

解析Vue2實作composition API的原理 解析Vue2實作composition API的原理 Jan 13, 2023 am 08:30 AM

自從Vue3 發布之後,composition API 這個詞走入寫Vue 同學的視野之中,相信大家也一直聽到composition API 比之前的options API 有多好多強,如今由於@vue/composition-api 插件的發布,Vue2的同學也可以上車咯,接下來我們主要以響應式的ref 和reactive 來深入分析一下,這個插件是怎麼實現此

See all articles