欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue.js初學(xué)入門教程(1)

 更新時(shí)間:2016年11月03日 09:02:36   作者:Redchar  
這篇文章主要為大家詳細(xì)介紹了vue.js初學(xué)入門教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Vue.js是當(dāng)下很火的一個(gè)JavaScript MVVM庫,它是以數(shù)據(jù)驅(qū)動(dòng)和組件化的思想構(gòu)建的。相比于Angular.js,Vue.js提供了更加簡潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。

0.MVVM

  什么是MVVM?就是Model-View-ViewModel。

ViewModel是Vue.js的核心,它是一個(gè)Vue實(shí)例。

不太懂也沒關(guān)系,慢慢就懂了。

1.基礎(chǔ)示例

代碼:

<!DOCTYPE html>

<html>

<head>

 <meta charset="utf-8">

 <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

 <title></title>

</head>

<body>

<div id="didi-navigator">

 <ul>

 <li v-for="tab in tabs">

 {{ tab.text }}

 </li>

 </ul>

 </div>

 <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>

 <script type="text/javascript">

 new Vue({

 el: '#didi-navigator',

 data: {

 tabs: [

 { text: '巴士' },

 { text: '快車' },

 { text: '專車' },

 { text: '順風(fēng)車' },

 { text: '出租車' },

 { text: '代駕' }

 ]

 }

 })

 

 </script>

</body>

</html>

使用Vue的過程就是定義MVVM各個(gè)組成部分的過程的過程。

  · 定義View

  · 定義Model

  · 創(chuàng)建一個(gè)Vue實(shí)例或"ViewModel",它用于連接View和Model 

2.數(shù)據(jù)綁定

2.1 插值

有時(shí)候只需渲染一次數(shù)據(jù),后續(xù)數(shù)據(jù)變化不再關(guān)心,可以通過“*”實(shí)現(xiàn):

<span>Text: {{*text}}</span>

雙大括號(hào)標(biāo)簽會(huì)把里面的值全部當(dāng)作字符串來處理,如果值是HTML片段,則可以使用三個(gè)大括號(hào)來綁定:

<div>Logo: {{{logo}}}</div>

Logo: ‘<span>DDFE</span>'

2.2 表達(dá)式

Mustache標(biāo)簽也接受表達(dá)式形式的值。

3.指令(上)

v-if指令
v-show指令
v-else指令
v-for指令
v-bind指令
v-on指令
v-model指令

  v-if:是否渲染。

  v-show:肯定渲染,是否顯示。

  其中,v-show不支持<template語法>。一般來說,v-if有更高的切換消耗,而v-show有更高的初始渲染消耗。因此,如果需要頻繁地切換,則使用v-show較好;如果在運(yùn)行時(shí)條件不大可能改變,則使用v-if較好。另外,將v-show用在組件上時(shí),因?yàn)橹噶畹膬?yōu)先級(jí)v-else會(huì)出現(xiàn)問題,可以用另一個(gè)v-show替換v-else。

3.1 關(guān)于v-for

  使用基礎(chǔ)可參看http://www.dbjr.com.cn/article/96364.htm。

  補(bǔ)充:

  Vue.js增加了兩個(gè)方法觀測變化:$set、$remove。

3.1.1 應(yīng)該盡量避免直接設(shè)置數(shù)據(jù)綁定的數(shù)組元素

  因?yàn)檫@些變化不會(huì)被Vue.js檢測到,因而也不會(huì)更新視圖渲染。這時(shí),我們可以使用$set方法:

        demo.item.$set(0,{childMsg:'Changed!'})

  $remove是splice的語法糖,用于從目標(biāo)數(shù)組中查找并刪除元素。

       demo.item.$remove(item)

3.1.2 有時(shí)可能需要用全新對(duì)象來替換數(shù)組

  Vue.js應(yīng)盡可能地復(fù)用已有實(shí)例。如果沒有唯一的鍵供追蹤,則可以使用track-by=”$index”,它強(qiáng)制讓v-for進(jìn)入原位更新模式:片段不會(huì)被移動(dòng),而是簡單地以對(duì)應(yīng)索引的新值刷新。這時(shí)DOM節(jié)點(diǎn)不再映射數(shù)組元素順序的改變,不能同步臨時(shí)狀態(tài)(比如<input>元素的值),以及組件的私有狀態(tài)。

  因?yàn)閖s的限制,Vue.js不能檢測到下面數(shù)組的變化:

             直接用索引設(shè)置元素,如vm.items[0]={}。
            
修改數(shù)據(jù)的長度,如vm.items.length = 0。

  前一個(gè)問題可用$set解決,后一個(gè)問題只需用一個(gè)空數(shù)組替換items即可。

3.1.3 v-for可以和vue.js提供的內(nèi)置過濾器(filterBy)或排序(orderBy)數(shù)據(jù)一起使用

  filterBy的例子: 

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 </head>
 <body>
 <input v-model="searchText" />
 <ul>
 <li v-for="user in users | filterBy searchText in 'name'">{{user.name}}</li>
 </ul>
 <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
 var haha = new Vue({
 el:'body',
 data:{
 users:[
 {
 name:'快車',
 tag:'1'
 },
 {
 name:'慢車',
 tag:'2'
 },
 {
 name:'好車',
 tag:'3'
 },
 {
 name:'破車',
 tag:'4'
 }
 ]
 }
 })
 </script>
 </body>
</html>

當(dāng)我搜破車的時(shí)候:

orderBy的例子:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 </head>
 <body>
 <ul>
 <li v-for="user in users | orderBy field reverse">{{user.name}}</li>
 </ul>
 <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
 var demo = new Vue({
 el:'body',
 data:{
 field:'tag',
 reverse:false, // 顛倒
 users:[
 {
 name:'快車',
 tag:'2'
 },
 {
 name:'慢車',
 tag:'3'
 },
 {
 name:'好車',
 tag:'1'
 },
 {
 name:'破車',
 tag:'0'
 }
 ]
 }
 })
 </script>
 </body>
</html>


其他:

  v-bind指令可以縮寫為一個(gè)冒號(hào),v-on指令可以縮寫為@符號(hào)。

  v-model指令后面可以添加number、lazy、debounce參數(shù)。

Number可以將用戶的輸入轉(zhuǎn)換為Number類型(如果原值的轉(zhuǎn)換結(jié)果為NaN,則返回原值)。
在input中時(shí)添加lazy將數(shù)據(jù)改到在change事件中發(fā)生。
Debounce可設(shè)置延時(shí)。 

參考:大神寫的:http://www.dbjr.com.cn/article/96426.htm《vue.js權(quán)威指南》

本文已被整理到了《Vue.js前端組件學(xué)習(xí)教程》,歡迎大家學(xué)習(xí)閱讀。

 以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue大屏展示適配的方法

    vue大屏展示適配的方法

    這篇文章主要為大家詳細(xì)介紹了vue大屏展示適配,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue中{__ob__: observer}對(duì)象轉(zhuǎn)化為數(shù)組進(jìn)行遍歷方式

    vue中{__ob__: observer}對(duì)象轉(zhuǎn)化為數(shù)組進(jìn)行遍歷方式

    這篇文章主要介紹了vue中{__ob__: observer}對(duì)象轉(zhuǎn)化為數(shù)組進(jìn)行遍歷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue中el-table兩個(gè)表尾合計(jì)行聯(lián)動(dòng)同步滾動(dòng)條實(shí)例代碼

    vue中el-table兩個(gè)表尾合計(jì)行聯(lián)動(dòng)同步滾動(dòng)條實(shí)例代碼

    項(xiàng)目開發(fā)中遇到一個(gè)比較兩個(gè)form差異的需求,但當(dāng)item過多就需要滾動(dòng)條,下面這篇文章主要給大家介紹了關(guān)于vue中el-table兩個(gè)表尾合計(jì)行聯(lián)動(dòng)同步滾動(dòng)條的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • vue+three.js實(shí)現(xiàn)炫酷的3D登陸頁面示例詳解

    vue+three.js實(shí)現(xiàn)炫酷的3D登陸頁面示例詳解

    這篇文章主要為大家介紹了vue+three.js實(shí)現(xiàn)炫酷的3D登陸頁面示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • vue如何添加jest測試

    vue如何添加jest測試

    這篇文章主要介紹了vue如何添加jest測試問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Vue首屏性能優(yōu)化組件知識(shí)點(diǎn)總結(jié)

    Vue首屏性能優(yōu)化組件知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于Vue首屏性能優(yōu)化組件知識(shí)點(diǎn)總結(jié),有需要的朋友們可以跟著學(xué)習(xí)下。
    2021-11-11
  • vue中使用vue-print.js實(shí)現(xiàn)多頁打印

    vue中使用vue-print.js實(shí)現(xiàn)多頁打印

    這篇文章主要介紹了vue中使用vue-print.js實(shí)現(xiàn)多頁打印,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Vue中transition標(biāo)簽的基本使用教程

    Vue中transition標(biāo)簽的基本使用教程

    Vue提供了transition的封裝組件,可以給任何元素和組件添加進(jìn)入/離開過渡,下面這篇文章主要給大家介紹了關(guān)于Vue中transition標(biāo)簽基本使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • el-table實(shí)現(xiàn)嵌套表格的展示功能(完整代碼)

    el-table實(shí)現(xiàn)嵌套表格的展示功能(完整代碼)

    el-table中在嵌套一個(gè)el-table,這樣數(shù)據(jù)格式就沒問題了,主要就是樣式,將共同的列放到一列中,通過渲染自定義表頭render-header,將表頭按照合適的寬度渲染出來,本文給大家分享el-table實(shí)現(xiàn)嵌套表格的展示功能,感興趣的朋友一起看看吧
    2024-02-02
  • vue按需引入element Transfer 穿梭框

    vue按需引入element Transfer 穿梭框

    這篇文章主要介紹了vue按需引入element Transfer 穿梭框的相關(guān)資料,需要的朋友可以參考下
    2017-09-09

最新評(píng)論