相比之前其他幾個入門的, 推薦: 簡單vue2 入門教程


注意:Vue.js 不支持 IE8 及其以下 IE 版本。       具體可以看下  http://www.runoob.com/vue2/vue-tutorial.html

以下是學習過程

Vue.js 教程

Vue.js(讀音 /vjuː/, 類似於 view) 是一套構建用戶界面的漸進式框架。

Vue 只關注視圖層, 采用自底向上增量開發的設計。

Vue 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。

Vue 學習起來非常簡單,本教程基於 Vue 2.1.8 版本測試。

 

里面說了一些安裝, 還有 cnpm 的安裝等

 

命令行工具

要工具都安好了,安裝vue-cli  webpack 后, 可以命令創建本地項目

$ vue init webpack my-project
 

進入項目,安裝並運行:

$ cd my-project $ cnpm install $ cnpm run dev  > Listening at http://localhost:8080
訪問 http://localhost:8080/ ,就能看到界面

 

這說的例子貌似和官網類似,基本的說下,可過下看看。

Vue.js 計算屬性

computed vs methods

我們可以使用 methods 來替代 computed,效果上兩個都是一樣的,但是 computed 是基於它的依賴緩存,只有相關依賴發生改變時才會重新取值。而使用 methods ,在重新渲染的時候,函數總會重新調用執行。可以說使用 computed 性能會更好,但是如果你不希望緩存,你可以使用 methods 屬性。

 

computed setter

computed 屬性默認只有 getter ,不過在需要時你也可以提供一個 setter 

 // getter
      get: function () {
        return this.name + ' ' + this.url
      },
      // setter
      set: function (newValue) {
        var names = newValue.split(' ')
        this.name = names[0]
        this.url = names[names.length - 1]
      }

  set  后  get 

 

點擊傳值

 

 

事件修飾符

事件修飾符

Vue.js 為 v-on 提供了事件修飾符來處理 DOM 事件細節,如:event.preventDefault() 或 event.stopPropagation()。

Vue.js通過由點(.)表示的指令后綴來調用修飾符。

  • .stop
  • .prevent
  • .capture
  • .self
  • .once
<!-- 阻止單擊事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再重載頁面 --> <form v-on:submit.prevent="onSubmit"></form> <!-- 修飾符可以串聯 --> <a v-on:click.stop.prevent="doThat"></a> <!-- 只有修飾符 --> <form v-on:submit.prevent></form> <!-- 添加事件偵聽器時使用事件捕獲模式 --> <div v-on:click.capture="doThis">...</div> <!-- 只當事件在該元素本身(而不是子元素)觸發時觸發回調 --> <div v-on:click.self="doThat">...</div> <!-- click 事件至少觸發一次,2.1.4版本新增 --> <a v-on:click.once="doThis"></a>

按鍵修飾符

Vue 允許為 v-on 在監聽鍵盤事件時添加按鍵修飾符:

<!-- 只有在 keyCode 是 13 時調用 vm.submit() --> <input v-on:keyup.13="submit">

記住所有的 keyCode 比較困難,所以 Vue 為最常用的按鍵提供了別名:

<!-- 同上 --> <input v-on:keyup.enter="submit"> <!-- 縮寫語法 --> <input @keyup.enter="submit">

全部的按鍵別名:

  • .enter
  • .tab
  • .delete (捕獲 "刪除" 和 "退格" 鍵)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right
  • .ctrl
  • .alt
  • .shift
  • .meta

實例

<p><!-- Alt + C --> <input @keyup.alt.67="clear"> <!-- Ctrl + Click --> <div @click.ctrl="doSomething">Do something</div>


這2個后面看api吧, 用多了就知道哪個是哪個

----------
表單中輸入框中加 style="white-space: pre" , 試了結果,意思是 輸入框內容前后空格保留

修飾符

.lazy

在默認情況下, v-model 在 input 事件中同步輸入框的值與數據,但你可以添加一個修飾符 lazy ,從而轉變為在 change 事件中同步:

<!-- 在 "change" 而不是 "input" 事件中更新 --> <input v-model.lazy="msg" >


.trim

如果要自動過濾用戶輸入的首尾空格,可以添加 trim 修飾符到 v-model 上過濾輸入:

<input v-model.trim="msg">

試了下:輸入空格后,在焦點離開會自動清理掉首尾的空格

Prop

 

 

 

 

 注意: prop 是單向綁定的:當父組件的屬性變化時,將傳導給子組件,但是不會反過來。

 對 prop 傳值有了一些認知,基本上知道怎么用....

  這個驗證后面再試。

 

自定義事件

父組件是使用 props 傳遞數據給子組件,但如果子組件要把數據傳遞回去,就需要使用自定義事件!

我們可以使用 v-on 綁定自定義事件, 每個 Vue 實例都實現了事件接口(Events interface),即:

  • 使用 $on(eventName) 監聽事件
  • 使用 $emit(eventName) 觸發事件
  •  

Vue.js 自定義指令

除了默認設置的核心指令( v-model 和 v-show ), Vue 也允許注冊自定義指令。     看定義全局的和局部的

 

 

鈎子    【這個需要好好研究下】

鈎子函數

指令定義函數提供了幾個鈎子函數(可選):

  • bind: 只調用一次,指令第一次綁定到元素時調用,用這個鈎子函數可以定義一個在綁定時執行一次的初始化動作。

  • inserted: 被綁定元素插入父節點時調用(父節點存在即可調用,不必存在於 document 中)。

  • update: 被綁定元素所在的模板更新時調用,而不論綁定值是否變化。通過比較更新前后的綁定值,可以忽略不必要的模板更新(詳細的鈎子函數參數見下)。

  • componentUpdated: 被綁定元素所在模板完成一次更新周期時調用。

  • unbind: 只調用一次, 指令與元素解綁時調用。

鈎子函數參數

鈎子函數的參數有:

  • el: 指令所綁定的元素,可以用來直接操作 DOM 。
  • binding: 一個對象,包含以下屬性:
    • name: 指令名,不包括 v- 前綴。
    • value: 指令的綁定值, 例如: v-my-directive="1 + 1", value 的值是 2
    • oldValue: 指令綁定的前一個值,僅在 update 和 componentUpdated 鈎子中可用。無論值是否改變都可用。
    • expression: 綁定值的字符串形式。 例如 v-my-directive="1 + 1" , expression 的值是 "1 + 1"
    • arg: 傳給指令的參數。例如 v-my-directive:foo, arg 的值是 "foo"
    • modifiers: 一個包含修飾符的對象。 例如: v-my-directive.foo.bar, 修飾符對象 modifiers 的值是 { foo: true, bar: true }
  • vnode: Vue 編譯生成的虛擬節點,查閱 VNode API 了解更多詳情。
  • oldVnode: 上一個虛擬節點,僅在 update 和 componentUpdated 鈎子中可用。

 

一知半解的,先熟悉入門。

 

Vue.js 路由

本章節我們將為大家介紹 Vue.js 路由。

Vue.js 路由允許我們通過不同的 URL 訪問不同的內容。

通過 Vue.js 可以實現多視圖的單頁Web應用(single page web application,SPA)。

Vue.js 路由需要載入 vue-router 庫

中文文檔地址:vue-router文檔

 

------------------------

看完這些,這次看着這些內容熟悉多了.... 可以一試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM