vue.js學(xué)習(xí)(一)

(準(zhǔn)備用vue.js寫畢業(yè)設(shè)計(jì),記錄下學(xué)習(xí)的東西轨帜,之后可能會用到)
代碼編譯可以使用這個(gè)網(wǎng)站:https://jsfiddle.net

Vue (讀音 /vju?/,類似于 view) 是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其它大型框架不同的是,Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用栗涂。Vue 的核心庫只關(guān)注視圖層,不僅易于上手祈争,還便于與第三方庫或既有項(xiàng)目整合斤程。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時(shí)菩混,Vue 也完全能夠?yàn)閺?fù)雜的單頁應(yīng)用提供驅(qū)動(dòng)忿墅。

起步

通過如下方式引入vue

<!-- 開發(fā)環(huán)境版本,包含了有幫助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

或者

<!-- 生產(chǎn)環(huán)境版本沮峡,優(yōu)化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>

聲明式渲染

(文本插值)
Vue.js 的核心是一個(gè)允許采用簡潔的模板語法來聲明式地將數(shù)據(jù)渲染進(jìn) DOM 的系統(tǒng):

<div id="app">
{{message}}
</div>
var app=new Vue({
el:'#app',
data:{
  message:'hello vue!'
}
})

修改app.message的值即可更新值
(綁定元素特性)

<div id="app-2">
  <span v-bind:title="message">
    鼠標(biāo)懸停幾秒鐘查看此處動(dòng)態(tài)綁定的提示信息疚脐!
  </span>
</div>
var app2 = new Vue({
  el: '#app-2',
  data: {
    message: 加載'頁面于 ' + new Date().toLocaleString()
  }
})

v-bind 特性被稱為指令。指令帶有前綴 v-邢疙,以表示它們是 Vue 提供的特殊特性棍弄。它們會在渲染的 DOM 上應(yīng)用特殊的響應(yīng)式行為。這里疟游,該指令的意思是:“將這個(gè)元素節(jié)點(diǎn)的 title 特性和 Vue 實(shí)例的 message 屬性保持一致”呼畸。

條件循環(huán)

(控制一個(gè)元素是否顯示)

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

在控制臺輸入 app3.seen = false,之前顯示的消息消失了颁虐。
不僅可以把數(shù)據(jù)綁定到 DOM 文本或特性蛮原,還可以綁定到 DOM 結(jié)構(gòu)。此外聪廉,Vue 也提供一個(gè)強(qiáng)大的過渡效果系統(tǒng)瞬痘,可以在 Vue 插入/更新/移除元素時(shí)自動(dòng)應(yīng)用[過渡效果]
還有其它很多指令,每個(gè)都有特殊的功能板熊。(eg:v-for)

用戶處理輸入

為了讓用戶和你的應(yīng)用進(jìn)行交互,可以用 v-on 指令添加一個(gè)事件監(jiān)聽器察绷,通過它調(diào)用在 Vue 實(shí)例中定義的方法:

<div id="app-5">
  <p>{{ message }}</p>
  <button v-on:click="reverseMessage">逆轉(zhuǎn)消息</button>
</div>
var app5 = new Vue({
  el: '#app-5',
  data: {
    message: 'Hello Vue.js!'
  },
  methods: {
    reverseMessage: function () {
      this.message = this.message.split('').reverse().join('')
    }
  }
})

Vue 還提供了 v-model 指令干签,它能輕松實(shí)現(xiàn)表單輸入和應(yīng)用狀態(tài)之間的雙向綁定。

<div id="app-6">
  <p>{{ message }}</p>
  <input v-model="message">
</div>
var app6 = new Vue({
  el: '#app-6',
  data: {
    message: 'Hello Vue!'
  }
})

組件化應(yīng)用構(gòu)建

組件系統(tǒng)是 Vue 的另一個(gè)重要概念拆撼,因?yàn)樗且环N抽象容劳,允許我們使用小型、獨(dú)立和通痴⒍龋可復(fù)用的組件構(gòu)建大型應(yīng)用竭贩。仔細(xì)想想,幾乎任意類型的應(yīng)用界面都可以抽象為一個(gè)組件樹莺禁。
在 Vue 里留量,一個(gè)組件本質(zhì)上是一個(gè)擁有預(yù)定義選項(xiàng)的一個(gè) Vue 實(shí)例。在 Vue 中注冊組件很簡單:

<div id="app-7">
  <ol>
    <!--
      現(xiàn)在我們?yōu)槊總€(gè) todo-item 提供 todo 對象
      todo 對象是變量,即其內(nèi)容可以是動(dòng)態(tài)的楼熄。
      我們也需要為每個(gè)組件提供一個(gè)“key”忆绰,稍后再
      作詳細(xì)解釋。
    -->
    <todo-item
      v-for="item in groceryList"
      v-bind:todo="item"
      v-bind:key="item.id">
    </todo-item>
  </ol>
</div>

使用v-bind指令將待辦項(xiàng)傳到循環(huán)輸出的每個(gè)組件中

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: '隨便其它什么人吃的東西' }
    ]
  }
})

我們已經(jīng)設(shè)法將應(yīng)用分割成了兩個(gè)更小的單元可岂。子單元通過 prop 接口與父單元進(jìn)行了良好的解耦错敢。我們現(xiàn)在可以進(jìn)一步改進(jìn) <todo-item> 組件,提供更為復(fù)雜的模板和邏輯缕粹,而不會影響到父單元稚茅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市平斩,隨后出現(xiàn)的幾起案子峰锁,更是在濱河造成了極大的恐慌,老刑警劉巖双戳,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虹蒋,死亡現(xiàn)場離奇詭異,居然都是意外死亡飒货,警方通過查閱死者的電腦和手機(jī)魄衅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塘辅,“玉大人晃虫,你說我怎么就攤上這事】鄱眨” “怎么了哲银?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呻惕。 經(jīng)常有香客問我荆责,道長,這世上最難降的妖魔是什么亚脆? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任风范,我火速辦了婚禮如输,結(jié)果婚禮上霞扬,老公的妹妹穿的比我還像新娘寄狼。我一直安慰自己,他們只是感情好柑营,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布屈雄。 她就那樣靜靜地躺著,像睡著了一般官套。 火紅的嫁衣襯著肌膚如雪酒奶。 梳的紋絲不亂的頭發(fā)上蚁孔,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音讥蟆,去河邊找鬼勒虾。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瘸彤,可吹牛的內(nèi)容都是我干的修然。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼质况,長吁一口氣:“原來是場噩夢啊……” “哼愕宋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起结榄,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤中贝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后臼朗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體邻寿,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年视哑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绣否。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挡毅,死狀恐怖蒜撮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情跪呈,我是刑警寧澤段磨,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站耗绿,受9級特大地震影響苹支,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缭乘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一沐序、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧堕绩,春花似錦、人聲如沸邑时。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晶丘。三九已至黍氮,卻和暖如春唐含,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沫浆。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工捷枯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人专执。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓淮捆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親本股。 傳聞我的和親對象是個(gè)殘疾皇子攀痊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對于 Vue 1.0 印象不深的內(nèi)容拄显。關(guān)于...
    云之外閱讀 5,052評論 0 29
  • 主要還是自己看的苟径,所有內(nèi)容來自官方文檔。 介紹 Vue.js 是什么 Vue (讀音 /vju?/躬审,類似于 vie...
    Leonzai閱讀 3,355評論 0 25
  • # 傳智播客vue 學(xué)習(xí)## 1. 什么是 Vue.js* Vue 開發(fā)手機(jī) APP 需要借助于 Weex* Vu...
    再見天才閱讀 3,560評論 0 6
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,220評論 0 6
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨(dú)立版本棘街,Vue即被注冊為全局變量,可以在頁面使用了承边。 如果希望搭建...
    Awey閱讀 11,034評論 4 129