Vue學(xué)習(xí)筆記入門篇——安裝及常用指令介紹

本文為轉(zhuǎn)載,原文:Vue學(xué)習(xí)筆記入門篇——安裝及常用指令介紹

介紹

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

安裝

CDN

https://unpkg.com/vue, 會保持和 npm 發(fā)布的最新的版本一致冒晰。可以在 https://unpkg.com/vue/ 瀏覽 npm 包資源竟块。代碼中直接引用以下代碼:

<script src="https://unpkg.com/vue/dist/vue.js"></script>

NPM

在用 Vue.js 構(gòu)建大型應(yīng)用時推薦使用 NPM 安裝壶运, NPM 能很好地和諸如 Webpack 或 Browserify 模塊打包器配合使用。 Vue.js 也提供配套工具來開發(fā)單文件組件浪秘。

npm install vue

Hellow World示例

<div id="app">
    <p>{{message}}</p>
</div>

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script>
var app = new Vue({
    el:'#app',
    data:{
        message:'Hello word'
    }
})

運行結(jié)果:



其中app為Vue對象蒋情,el指定作用在html的元素,即例子中<div id='app'></div>,data是數(shù)據(jù)對象耸携,數(shù)據(jù)綁定最常見的形式就是使用 “Mustache” 語法(雙大括號)的文本插值棵癣。

常用指令

Vue.js的指令是以v-開頭的,它們作用于HTML元素夺衍,指令提供了一些特殊的特性狈谊,將指令綁定在元素上時,指令會為綁定的目標(biāo)元素添加一些特殊的行為,我們可以將指令看作特殊的HTML特性(attribute)河劝。
Vue.js提供了一些常用的內(nèi)置指令壁榕,接下來我們將介紹以下幾個內(nèi)置指令:

v-model

在表單控件或者組件上創(chuàng)建雙向綁定
修飾符:

.lazy - 取代 input 監(jiān)聽 change 事件
.number - 輸入字符串轉(zhuǎn)為數(shù)字
.trim - 輸入首尾空格過濾

示例代碼:

<div id="app-model">
    <p>{{message}}</p>
    <input type="text" v-model="message">
</div>
var app_model = new Vue({
    el:'#app-model',
    data:{
        message:''
    }
})

在輸入框輸入內(nèi)容時,其上方同步顯示輸入內(nèi)容:


v-if

v-if是條件渲染指令赎瞎,它根據(jù)表達式的真假來刪除和插入元素牌里,它的基本語法如下:

v-if="expression"

expression是一個返回bool值的表達式,表達式可以是一個bool屬性务甥,也可以是一個返回bool的運算式,如以下代碼:

<div id="app-if">
    <p v-if="seen">你可以看見我</p>
</div>

    var app_if = new Vue({
        el:'#app-if',
        data:{
            seen:true
        }
    })

運行結(jié)果如下:


如果你在控制臺設(shè)置 app_if.seen=false 則"你可以看見我"字樣就會消失不見

v-show

v-show也是條件渲染指令二庵,和v-if指令不同的是,使用v-show指令的元素始終會被渲染到HTML缓呛,它只是簡單地為元素設(shè)置CSS的style屬性催享。例如:

<div id="app-show">
    <p v-show="age > 25">Age:{{age}}</p>
</div>

    var app_show = new Vue({
        el:'#app-show',
        data:{
            age:28
        }
    })

運行結(jié)果如下:



同樣,如果在控制臺修改app_show.age的值哟绊,若是age>25的結(jié)果為false的話因妙,界面中的文本也會消失不見。

v-else

可以用v-else指令為v-if或v-show添加一個“else塊”票髓。v-else元素必須立即跟在v-if或v-show元素的后面——否則它不能被識別攀涵。
示例代碼:

<div id="app-else">
    <p v-if="age > 18">{{name}}的年齡是{{age}}歲,已成年</p>
    <p v-else>{{name}}的年齡是{{age}}歲洽沟,未成年</p>
</div>

    var app_else = new Vue({
        el:'#app-else',
        data:{
            name:'chain',
            age:17
        }
    })

運行結(jié)果如下:


v-for

v-for指令基于一個數(shù)組渲染一個列表以故,它和JavaScript的遍歷語法相似:

v-for="item in items"

items是一個數(shù)組,item是當(dāng)前被遍歷的數(shù)組元素裆操。例如:

<div id="app-for">
    <ul v-for="item in items">
        <li>{{item}}</li>
    </ul>
</div>
var app_for = new Vue({
    el:'#app-for',
    data:{
        items:[
            'Vue',
            'Angular',
            'React'
        ]
    }
})

運行結(jié)果:


v-bind

v-bind指令可以在其名稱后面帶一個參數(shù)怒详,中間放一個冒號隔開,這個參數(shù)通常是HTML元素的特性(attribute)踪区,例如:v-bind:class

v-bind:argument="expression"

修飾符:

.prop - 被用于綁定 DOM 屬性昆烁。(what’s the difference?)
.camel - (2.1.0+) 將 kebab-case 特性名轉(zhuǎn)換為 camelCase. (從 2.1.0 開始支持)
.sync (2.3.0+) 語法糖,會擴展成一個更新父組件綁定值的 v-on 偵聽器缎岗。
示例代碼:

<div id="app-bind">
    ![](img_url)
</div>
var app_bind = new Vue({
    el:'#app-bind',
    data:{
        img_url:'https://cn.vuejs.org/images/logo.png'
    }
})

運行結(jié)果:


v-on

綁定事件監(jiān)聽器静尼。事件類型由參數(shù)指定。表達式可以是一個方法的名字或一個內(nèi)聯(lián)語句传泊,如果沒有修飾符也可以省略鼠渺。可縮寫為@

用在普通元素上時眷细,只能監(jiān)聽 原生 DOM 事件拦盹。用在自定義元素組件上時,也可以監(jiān)聽子組件觸發(fā)的自定義事件薪鹦。

在監(jiān)聽原生 DOM 事件時掌敬,方法以事件為唯一的參數(shù)惯豆。如果使用內(nèi)聯(lián)語句,語句可以訪問一個 $event 屬性: v-on:click="handle('ok', $event)"
修飾符:

.stop - 調(diào)用 event.stopPropagation()奔害。
.prevent - 調(diào)用 event.preventDefault()楷兽。
.capture - 添加事件偵聽器時使用 capture 模式。
.self - 只當(dāng)事件是從偵聽器綁定的元素本身觸發(fā)時才觸發(fā)回調(diào)华临。
.{keyCode | keyAlias} - 只當(dāng)事件是從特定鍵觸發(fā)時才觸發(fā)回調(diào)芯杀。
.native - 監(jiān)聽組件根元素的原生事件。
.once - 只觸發(fā)一次回調(diào)雅潭。
.left - (2.2.0) 只當(dāng)點擊鼠標(biāo)左鍵時觸發(fā)揭厚。
.right - (2.2.0) 只當(dāng)點擊鼠標(biāo)右鍵時觸發(fā)。
.middle - (2.2.0) 只當(dāng)點擊鼠標(biāo)中鍵時觸發(fā)扶供。
.passive - (2.3.0) 以 { passive: true } 模式添加偵聽器

示例代碼:

<div id="app-on">
    <p>{{message}}</p>
    <button @click="setMessage">Set Message</button>
</div>
var app_on = new Vue({
    el:'#app-on',
    data:{
        message:''
    },
    methods:{
        setMessage:function () {
            this.message='hello world';
        }
    }
})

點擊按鈕后筛圆,結(jié)果如下:


原創(chuàng)博文,轉(zhuǎn)載請注明出處
返回目錄
下一節(jié):Vue學(xué)習(xí)筆記入門篇——數(shù)據(jù)及DOM

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末椿浓,一起剝皮案震驚了整個濱河市太援,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌扳碍,老刑警劉巖提岔,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異笋敞,居然都是意外死亡碱蒙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門夯巷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赛惩,“玉大人,你說我怎么就攤上這事鞭莽》唤眨” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵澎怒,是天一觀的道長。 經(jīng)常有香客問我阶牍,道長喷面,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任走孽,我火速辦了婚禮惧辈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘磕瓷。我一直安慰自己盒齿,他們只是感情好念逞,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著边翁,像睡著了一般翎承。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上符匾,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天叨咖,我揣著相機與錄音,去河邊找鬼啊胶。 笑死甸各,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的焰坪。 我是一名探鬼主播趣倾,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼某饰!你這毒婦竟也來了儒恋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤露乏,失蹤者是張志新(化名)和其女友劉穎碧浊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘟仿,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡箱锐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了劳较。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驹止。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖观蜗,靈堂內(nèi)的尸體忽然破棺而出臊恋,到底是詐尸還是另有隱情,我是刑警寧澤墓捻,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布抖仅,位于F島的核電站,受9級特大地震影響砖第,放射性物質(zhì)發(fā)生泄漏撤卢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一梧兼、第九天 我趴在偏房一處隱蔽的房頂上張望放吩。 院中可真熱鬧,春花似錦羽杰、人聲如沸渡紫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惕澎。三九已至莉测,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間集灌,已是汗流浹背悔雹。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留欣喧,地道東北人腌零。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像唆阿,于是被迫代替她去往敵國和親益涧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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