在学习用angular做购物车功能时,遇到一个问题:
我在删除一条商品时,总价没有跟着变动,折腾了几天,实在琢磨不出,请大家帮忙看看,谢谢大家了
To Do List
name price total del
{{z.name}}
{{z.total}}
{{z.price}}
{{z.total * z.price}}
delted
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
添加一个函数
并且del函数改为
我必须吐槽下是,你现在的代码根本不像在用angular写东西啊,还是停留在jQuery的层面上。 减少dom操作是Angularjs的初衷,但是你直接用.text()方法给赋值。为什么不直接把total绑定在$scope上,在html上直接{{total}}就可以了啊。
另外,将数组model2直接放在外面,污染全局变量不可取。也可以将初始化init的代码放在controller中,没必要在html中init。
删除数组中的元素,总价没有理由跟着变化,一则总价没绑定到scope上,再则即使总价这个变量绑定到scope上,也是原始数据类型,你每次操作后,要获得总价都是要再算一次的。
插一段我的代码,还有好多可以优化的,但是我要去跑步啦,没时间改啦。 要用的话,注意引入js,css文件的路径
如果你直接使用jQuery来修改VIEW层或者MODEL层数据,那你需要手动进行数据同步。
你可以根据需要使用:
或者
来同步数据。具体可以参考AngularJS的API