avalon学习笔记一
2016/11/30 标签:
avalon
记: 大项目用ng,小项目用vue,中项目用react,如果想兼容ie8及以下浏览器请用司徒正美的avalon
上学习demo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.bootcss.com/avalon.js/2.2.1/avalon.min.js"></script>
<script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.12.1/jquery.min.js"></script>
</head>
<body ms-controller="test">
<script>
avalon.define({
$id: 'test',
pro:[
{name:'苹果',price:12,num:1},
{name:'香蕉',price:14,num:0},
{name:'梨',price:10,num:2},
{name:'芒果',standard:[{name:'大',price:15,num:1},{name:'中',price:10,num:0},{name:'小',price:6,num:0}]}
],
count:function(){
var priceAll=0;
for(var x in this.pro){
if(this.pro[x].standard){
for(var j in this.pro[x].standard){
priceAll+=this.pro[x].standard[j].price*this.pro[x].standard[j].num
}
}else{
priceAll+=this.pro[x].price*this.pro[x].num
}
};
return priceAll;
},
show:function(el){
return typeof(el.standard)=='undefined';
},
merge:function(index){
if(index==0){
return true;
}else{
return false;
}
}
})
$(function(){
setTimeout(function(){
$(".test").eq(0).val(10);
}, 4000)
});
</script>
<table>
<tbody>
<!--ms-for:el in pro-->
<tr ms-if="@show(el)">
<td>{{el.name}}</td><td>价格:<input ms-duplex="@el.price"/>元</td><td>数量:<input ms-duplex="@el.num"></td>
</tr>
<!--ms-for:(val,standard) in el.standard-->
<tr>
<td ms-attr="{rowspan:el.standard.length}" ms-visible="@merge(val)">{{@el.name}}</td>
<td>价格:<input ms-duplex="@standard.price"/>元</td><td>数量:<input ms-duplex="@standard.num"></td>
</tr>
<!--ms-for-end-->
<!--ms-for-end-->
</tbody>
</table>
总价:{{@count()}}
</body>
</html>
下一篇:
svg水纹波效果
静水缘首页
文章分类
最新文章
- nodejs私钥加密公钥解密的一个例子
- uniapp和微信小程序判断程序运行在开发或者测试或者线上版本的方法分别是什么
- electron使用electron-builder打包后模块包含exe文件执行失败
- Compile is disallowed on the main thread, if the buffer size is larger than 4KB
- better-sqlite3简介及常用操作
- nodejs 操作数据库的库
- nodejs使用http-proxy库实现多个域名代理和同时代理websocket的例子,代理包含https和http两种协议
- iis配置反向代理
- javascript伪多线程代码
- ip所在地址段判断