Atitit usrqbg1834 html的邏輯化流程化 規範標準化解決方案javascript
經常使用指令1html
v-for指令3vue
MVVM大比拼4java
原本按照Vue文檔說明,經常使用指令應該是放在後面介紹的,可是從使用的層面考慮,先介紹經常使用指令仍是很是必要的,由於博主以爲這些指令是咱們入手使用Vue的橋樑,沒有這些基石,一切的高級應用都是空話。react
Vue裏面爲咱們提供的經常使用指令主要有如下一些。git
· v-textangularjs
· v-htmlgithub
· v-if算法
· v-show
· v-else
· v-for
· v-on
· v-bind
· v-model
· v-pre
· v-cloak
· v-once
v-if和v-else是一對離不開的好兄弟,使用條件運算符判斷時經常使用。須要說明的是,v-if能夠單獨使用,可是v-else的前面必需要有一個v-if的條件或者v-show指令(後面介紹),這個和咱們編程的原理是同樣同樣的。
它們做爲條件渲染指令,他們的基礎語法以下:
v-if="expression",v-else;
注意這裏的v-else能夠不寫,expression表達式是一個返回bool類型的屬性或者表達式。
<body>
<div id="app">
<h1>姓名:<label v-text="Name"></label></h1>
<h1>是否已婚:<span v-if="IsMarry">是</span></h1>
<h1>大人or小孩:<span v-if="Age>18">大人</span><span v-else>小屁孩</span></h1>
<h1>學校:{{ School }}</h1>
</div>
<script src="Content/vue/dist/vue.js"></script>
<script type="text/javascript">
//Model
var data = {
Name: '小明',
IsMarry: true,
Age: 20,
School:'光明小學',
}
//ViewModel
var vue = new Vue({
el: '#app',
data: data,
});
v-for 指令須要以 item in items 形式的特殊語法。經常使用來綁定數據對象。
最簡單的例子:
<body>
<div id="app">
<ul>
<li v-for="value in nums">{{value}}</li>
</ul>
</div>
<script src="Content/vue/dist/vue.js"></script>
<script type="text/javascript">
//ViewModel
var vue = new Vue({
el: '#app',
data: {
nums: [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
});
</script>
關於MVVM,原來在介紹knockout.js的時候有過講解,目前市面上比較火的MVVM框架也是一抓一大把,好比常見的有Knockout.js、Vue.js、AvalonJS、Angularjs等,每一款都有它們本身的優點。
· Knockout:微軟出品,能夠說是MVVM的模型領域內的先驅,使用函數偷龍轉鳳,最短編輯長度算法實現DOM的同步,兼容IE6,實現高超,但源碼極其難讀,最近幾年發展緩慢。
· Vue:是最近幾年出來的一個開源Javascript框架,語法精簡,實現精緻,但對瀏覽器的支持受限,最低只能支持IE9。
· AvalonJS:是一個簡單易用迷你的MVVM框架,由大神司徒正美研發。使用簡單,實現明快。
· React:React並不屬於MVVM架構,可是它帶來virtual dom的革命性概念,受限於視圖的規模。
· Angularjs:Google出品,已經被用於Google的多款產品當中。AngularJS有着諸多特性,最爲核心的是:MVC、模塊化、自動化雙向數據綁定、語義化標籤、依賴注入等等。入門容易上手難,大量避不開的概念也是很頭疼的。
Atitit. js框架angular.js Knockout.js與react vue.js jq.tmpl的使用總結2016流行的.docx
JS組件系列——又一款MVVM組件:Vue(一:30分鐘搞定前端增刪改查) - 懶得安分 - 博客園.html
做者:: 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 )
漢字名:艾提拉(艾龍), EMAIL:1466519819@qq.com
轉載請註明來源: http://www.cnblogs.com/attilax/
Atiend