avalon是一個迷你的mvvm框架,兼容IE6,若是你只打算兼容IE10與標準瀏覽器,那麼下avalon.modern.js。而且體積比較小,下面就舉兩個例子介紹avalon。html
效果以下,點擊add按鈕可實現藍色 方塊的添加,而且方塊上面的數字也有所增長,在方塊上點擊即可實現該對應的方塊刪除,點擊delete按鈕最末端的方塊消失。數組
在head 部分導入avalon,並設定方塊樣式。瀏覽器
1
2
3
4
5
6
7
8
9
10
|
<head>
<title>TODO supply a title</title>
<meta charset=
"UTF-8"
>
<meta name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<script src=
"avalon.js"
></script>
<style>
*{ list-style:none; margin: 0;padding: 0; boder:0;}
.color_cs{ background:
#ff9999; width: 400px; height: 400px;}
</style>
</head>
|
body中代碼ruby
1
2
3
4
5
6
7
8
9
10
11
|
<div ms-controller=
"square"
style=
" background:#99ccff;"
>
<ul style=
" width: 1500px; display: inline-block; "
>
<li ms-repeat=
"model"
><div style=
" width: 200px; height: 200px; background: #66ffcc; margin: 10px 0 0 10px;float: left; display: block;"
ms-click=
"remove($remove)"
ms-mouseover=
"color_cs:color_change"
>{{el}}</div></li>
</ul>
<div>
<input type=
"button"
ms-click=
"add"
value=
"add"
/>
<input type=
"button"
ms-click=
"dd"
value=
"delete"
/>
</div>
</div>
|
ms-controlles 設置做用域,就是設置avalon效果實現範圍, 在avalon中,有兩個綁定做用域的屬性,分別是ms-controller, ms-important
ms-repeat 循環綁定,在例子中用於循環數組
{{el}} 顯示數組內容
ms-click 爲單擊實現事件
$remove 爲點擊刪除該指定元素事件,等於直接導入remove()方法
不但有點擊事件的綁定屬性,還有其餘的屬性,詳情可點擊這裏框架
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
var
i = 3;
avalon.define(
"square"
,
function
(vm){
vm.model = [
"1 "
,
" 2"
,
" 3"
];
//默認數組裏有三個數
vm.add =
function
(){
//增長事件
vm.model.push(vm.model[i] = [i+1]);
//導入push();方法
i++;
}
vm.remove =
function
(rm){
// 點擊指定方塊刪除
rm();
};
vm.dd =
function
(){
//點擊刪除事件
vm.model.pop();
//導入pop();方法
i--;
}
});
|
1
2
3
4
|
<div style=
"background: #d1fcfb;"
ms-controller=
"change"
>
<ul style=
" width: 1500px;display: inline-block;"
><li ms-repeat=
"model"
ms-click=
"bb(el)"
ms-visible=
"!aa || el == aa"
><div class=
"bb"
>{{el}}</div></li></ul>
</div>
|
ms-visible 用判斷來顯示和隱藏,ms-if也能夠作出一樣的效果,可是ms-if的做用是把不知足的元素刪除,而ms-visible只是隱藏而已。mvvm
1
2
3
4
5
6
7
8
9
10
|
avalon.define(
"change"
,
function
(vm){
vm.model = [
"1"
,
"2"
,
"3"
,
"4"
,
"5"
,
"6"
];
//默認顯示六個方塊
vm.aa =
''
;
//aa初始化狀態,顯示所有方塊
vm.bb =
function
(el){
if
(vm.aa)
vm.aa =
''
;
else
vm.aa = el;
//不然顯示指定方塊
}
|