首页 > 语言 > JavaScript > 正文

Avalonjs 实现简单购物车功能(实例代码)

2024-05-06 15:01:32
字体:
来源:转载
供稿:网友

 先给大家简单介绍下avalon概念

avalon是国内最强大的MVVM框架,没有之一,虽然淘宝KISSY团队也搞了两个MVVM框架,但都无疾而终。其他的MVVM框架都没几个。也只有外国人与像我这样闲的架构师才有时间钻研这东西。我很早之前就预言,MVVM是前端的终极解决方案。我之前在盛大无线做盛大通行证就深有体会,一个业务逻辑对应十来个不同的界面,分层架构是必不可少的。因此双向绑定作为解药,结合很早就流行的MVC框架,衍生出MVVM这神器。

  因为最近有在做购物车,然后我们是用avalon来实现一些模块的,所以顺其自然的用avalon来实现购物车,目前发现avalon还是比较强大的,大大的节约了代码量。

    购物车一般具备的功能是加减数量、选择商品、删除商品和计算金额,因为avalon具有双向绑定功能,所以杜绝了dom的操作,只需要完成功能的逻辑即可,可以分下面几个步骤实现。

  runjs: http://runjs.cn/detail/1dnkgxom

    1、页面的Html结构

    这里不考虑好的效果,所以直接用最简单的html来实现了,主要包含控制器,列表循环,金额显示,简单代码结构如下

<body ms-controller="test"> <ul ms-visible="arr.length">  <li><input type="checkbox" ms-click="checkAll" ms-duplex-checked="checkAllbool"/>全选</li>  <li ms-repeat="arr" >  <input type="checkbox" ms-attr-value="el.id" ms-duplex="selected" />  {{el.text}}  <input type="text" name="" ms-attr-value="el.num" ms-on-input="changeNum(el)">  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow"  ms-click="plus(el)">加</a>  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow"  ms-click="minus(el)">减</a>  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow"  ms-click="del(el)">删除</a>  <p>单价:{{el.price | currency}}</p>  <p>金额:{{el.num*el.price | currency}}</p>  </li> </ul> <p>总金额:{{total | currency}}</p> </body>

     这里有全选、加减、删除几个功能事件,金额用了过滤器currency。

    2、引入avalon.js,定义模型

    引入js是必须的,那么引入avalon.js后可以定义了

var vm = avalon.define({  $id:"test"});

   这样就定义了一个简单的模型,$id传入的是控制器的值,本文例子的控制器是写在body,如果不理解可以去看看官网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选