Vue快速入門教程,此教程包括使用Kendo UI for Vue的組件。但願經過此教程可以成爲你學習vue的一個很好的起點。這其中還包含一個可擴展的事例,若是你感興趣能夠深刻學習下去。css
本教程針對的是第一次使用Vue資源管理器。我將向您展現如何使用Vue建立一個簡單的示例,而後我將添加一些交互性和UI組件,最後添加更多功能和Kendo UI組件。雖然本教程演示很是基礎,但它概述了使用Vue添加特性和功能的全部關鍵元素。擴展演示代碼並交換更復雜的組件很是容易。個人例子,如Vue自己,是可擴展的。html
ps: 框架的名稱在技術上是「Vue.js」,有些地方甚至會修改版本號以得到「Vue.js 2」,但大多數人只是在經常使用中使用「Vue」。本教程側重於語言,並未涵蓋更重要的Vue-cli等高級主題,但應該在之後會有介紹。vue
讓咱們開始吧!jquery
首先,讓咱們先來了解一下開始使用Vue是多麼容易。咱們將從流行的「hello,world」應用程序的Vue實現開始。git
<!DOCTYPE html> <html lang="en"> <head> <title>Clash</title> <!-- the star of the show - the Vue library! --> <script src="https://unpkg.com/vue/dist/vue.min.js"></script> <script> // when life is settled, load up the fun stuff document.addEventListener('DOMContentLoaded', function () { new Vue({ el: '#sg1', // define data - initial display text data: { m1: "You got to let me know" } }) }) </script> </head> <body> <!-- text --> <div id="sg1"> <p>{{ m1 }}</p> </div> </body> </html>
首先,在文檔<head>
中,咱們給它標題。可是寫標題是一個不應被遺忘的好習慣。github
接下來,咱們從CDN加載Vue庫。當你開始使用時,你可能會切換到npm(這是Vue的[推薦安裝方法](https://vuejs.org/v2/guide/in...)),但CDN是最簡單和最便攜的方式。ajax
首先,讓咱們跳到文檔<body>
。在這裏,咱們有一個<div id =「sg1」>
的元素。npm
<div id="sg1"> <p>{{ m1 }}</p> </div>
Vue的核心是可以使用簡單的模板語法以聲明方式將數據呈現給DOM。數組
跳回到文檔<head>
,咱們看到一些代碼在經過設置事件監聽器加載DOM時觸發。若是你來自jQuery世界,這就像$(document).ready()
`,但在這裏沒有jQuery。babel
接下來,咱們有咱們的Vue代碼,這裏所作的就是設置「m1」的內容:
new Vue({ el: '#sg1', // define data - initial display text data: { m1: "You got to let me know" } })
咱們從這裏開始使用Vue()函數建立一個新的Vue實例。有了這個,咱們傳遞它配置。在這裏,咱們只在數據部分設置m1的初始值。 (稍後會詳細介紹。)咱們還告訴它咱們想要使用哪一個元素,el:'#sg1'
相似於document.getElementById('#sg1')
。
當咱們運行它時,咱們獲得:
這很簡單,但不是頗有用。可是,它確實讓咱們瞭解如何設置Vue應用程序。到目前爲止,它看起來並無太大的不一樣。可是這裏發生了一些有趣的事情,咱們尚未看到。咱們將探討下一個例子中的內容。
接下來,咱們添加一個按鈕。
<!DOCTYPE html> <html lang="en"> <head> <title>Clash</title> <!-- the star of the show - the Vue library! --> <script src="https://unpkg.com/vue/dist/vue.min.js"></script> <script> // some data we'll use var action = [ "Go", "Stay"]; var result = [ "It will be double", "There will be trouble" ]; // when life is settled, load up the fun stuff document.addEventListener('DOMContentLoaded', function () { new Vue({ el: '#sg1', // define data - initial display text and set the text on the button data: { m1: "You got to let me know", btext: action[0] }, // define the methods - alternate between the two values methods: { staygo: function () { var sel = ( this.btext == action[0] ) ? sel = 1 : sel = 0; this.m1 = result[sel]; this.btext = action[sel]; } } }) }) </script> </head> <body> <!-- text and the button --> <div id="sg1"> <p>{{ m1 }}</p> <p><button v-on:click="staygo">{{ btext }}</button></p> </div> </body> </html>
在標記中,咱們添加了按鈕。這是一個基本按鈕,咱們經過附加調用staygo()
的偵聽器定義了一個單擊事件的動做,而且咱們爲按鈕文本設置了一個名爲「btext」
的佔位符。
回到代碼中,咱們在配置中添加了一個方法屬性。在其中,咱們定義了staygo()
以匹配按鈕中的那個。這是它變得有趣的地方。
methods: { staygo: function () { var sel = ( this.btext == action[0] ) ? sel = 1 : sel = 0; this.m1 = result[sel]; this.btext = action[sel]; } }
咱們還在數據區域添加了文本,爲按鈕提供了初始標籤。在該方法中,咱們基本上看到按鈕上的內容,而後在兩行文本中的一行和兩個按鈕標籤之一之間切換。
data: { m1: "You got to let me know", btext: action[0] }
這裏發生的有趣的事情是咱們如今已經連接了數據和DOM,咱們的應用程序是被動的。當咱們改變m1的值時,顯示的文本被改變,當咱們改變btext的值時,按鈕文本被改變。沒有什麼須要作的了。這也發生在咱們的第一個例子中,但咱們沒有看到,由於咱們只是將文本留下了初始值。
咱們看到文字「You got to let me know」,按鈕標有「go」。正如任何經典朋克的粉絲都知道的那樣,若是你去「There will be trouble」而且文字也會爲此改變。同時,決定留下來,咱們惟一的選擇是「stay"」,咱們將按鈕上的標籤更改成「stay"」。
若是您如今單擊「stay」,則文本將更改成「It will be double」。
你能夠來回點擊,而後決定你的文本顯示。
爲了簡單起見,我在這裏使用了一個基本的下拉組件,但若是你想添加一個網格或圖表或其餘更復雜的組件,那麼這個過程就大體相同了。此外,它有點長,因此我將列出下面每一個部分的添加內容,並在GitHub上列出完整的代碼。
首先,咱們在標題中添加了一個部分,以引入Kendo UI樣式,基本庫和此組件的庫:
<!-- load Kendo UI stylesheets --> <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.3.913/styles/kendo.common.min.css"/> <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.3.913/styles/kendo.default.min.css"/> <!-- load Kendo UI libraries --> <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script src="https://kendo.cdn.telerik.com/2017.3.913/js/kendo.all.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script> <!-- load Kendo UI for Vue --> <script src="https://unpkg.com/@progress/kendo-dropdowns-vue-wrapper/dist/cdn/kendo-dropdowns-vue-wrapper.min.js"></script>
這包括組件的一些樣式,咱們依賴的一些庫,以及咱們將使用的實際組件的庫。
咱們還在<body>
部分添加了一個<div>
元素。在這裏,您會看到一些新文本以及<kendo-dropdownlist>
元素:
<!-- second text and the DropDownList component --> <div id="sg2" class="vue-app"> <p>{{ m2 }}</p> <h4>Singer:</h4> <kendo-dropdownlist :data-source="singerOptions" :data-text-field="'text'" :data-value-field="'value'" @change="onChange"> </kendo-dropdownlist> </div>
在這裏,您能夠看到咱們已經指定了實際標籤的數據源(文本項數組),調用文本字段的內容,調用返回的值,最後咱們告訴它如何處理具體行動。在這種狀況下,它是@change,它在選擇被更改時觸發(不只僅是選中,而是實際更改成其餘選擇)而且咱們已經定義了onChange()
。您能夠觸發許多其餘事件,還能夠設置大量其餘參數來控制DropDownList組件的行爲。有關這方面的更多信息,請查看DropDownList組件的文檔。
如今,回到腳本,咱們爲這個新部分添加了新代碼:
new Vue({ el: "#sg2", // data is the lyric line and the two options for the DropDownList component data: { m2: problem[0], singerOptions: [ { text: option[0], value: '0' }, { text: option[1], value: '1' } ] }, // and the method here just updates the text based on the singer selection methods: { onChange: function(e) { this.m2 = problem[e.sender.value()]; } } })
咱們添加了兩(2)個數據項:一個用於文本,「m2」,第二個是實際由DropDownList組件使用的數組。最後,咱們有一個方法,在DropDownList組件中更改選擇時調用,該方法根據選擇設置文本「m2」,與e.sender.value()
一塊兒傳遞。
咱們的應用如今看起來像這樣:
咱們仍然有原始的「hello,world」文本和按鈕,但如今咱們也看到了新的詞和下拉列表。若是咱們點擊下拉菜單,咱們會獲得兩個選擇:「Mick」或「Joe and Joe」。
在下拉菜單中選擇不一樣的選項,上面的文本也將相應的發生變化。
如今你已經看到了開始使用Vue是多麼容易,下一步是什麼?
在這個小例子以後你能夠找到各類各樣的方向。可是在這裏你有一個實際的工做示例,交互性和全部鏈接的Kendo UI組件。若是您以前沒有使用過Vue,那麼這能夠超越基本的「hello,world」示例,這些示例是須要確保你具有全部設置和工做的基礎知識。從一個複雜的例子開始,歷來沒有什麼幫助,由於當它不起做用時你一般不知道爲何,這就是爲何「你好,世界」的例子如此受歡迎。
那麼接下來你能夠學習些什麼了?