Angularjs? ??? ???? ??? ???? ??? ??? ??? ?? ? ?? ??? ??????
1. ??? ? ??($scope.TotalPrice)? ??? ????. ?? ??? ????? ???? ????
2. ?? ??? ??()?? ?? ??? ?? ?????
?? ??? ??? ????
http://jsbin.com/qometulete/edit?html,js,output
HTML ??? ??? ????
JS ??? ??? ????
????? ?? ??? ???????: http://jsbin.com/vajeru/3/edit?html,js,output
??? ??? ??? ????.
?? ??? ???????. key == index
??? ???? $scope.datas
? ?? ?? ??? ?? ???? ?????(1? ??). ??? ???? ????? ???? ????? index
??? ?? ??? ?????. splice
? ???? ?? ??? ?? ??????. ?? ??key == index
刪除一個之后,$scope.datas
中其后的元素的數(shù)組索引會變化(減1),元素的索引又和需要刪除的索引相同了,從而會刪除 index
之后的所有的成員,刪除方法已經重寫,使用數(shù)組的 splice
方法
getNum()
getTotal()
兩個方法,需要在控制器初始化的時候,執(zhí)行一次,由于沒有初始運行,而且沒有在初始化的時候定義 TotalNum
和 TotalPrice
,所以兩個值是不會顯示的。而且你是使用變量聲明的方法定義的這兩個函數(shù),所以在定義它們之前調用會是 undefined
getTotal()
中,你把 price
拼寫錯為 pirce
,從而 $scope.TotalPrice
會是 NaN
,你用 number: 2
過濾器,當然就顯示不出來
另外給你如下的建議:
值可以確定類型的時候,比較不要使用 ==
,盡量使用 ===
變量一定要在函數(shù)的頭部一次性初始化,比如,將數(shù)字初始化為 0
不要在循環(huán)之中調用可以在循環(huán)之外調用的方法,比如你在 reduceNum()
addNum()
里不停的調用 getTotal()
getNum()
getTotal()
? ???? ???? ??? ? ? ?? ????? ?? ??? ?? ????? ????. code>TotalNum ? TotalPrice
??? ? ?? ???? ????. ??? ?? ?? ??? ???? ? ? ??? ???? ??? ???? ?? ???? ???? ??
getTotal()
?? price
? ??? pirce
? ?? ?????? $scope.TotalPrice
? ? ???. >NaN
, number: 2
??? ???? ??? ???? ????????
??
???? ??? ?? ??? ????. ??
??
??????? ??? ??? ? ?? ?? ==
? ???? ?? ===
? ???? ?? ????????
??????? ??? ???? ? ? ?????? ???. ?? ?? ??? 0?????? ??????.
?????? ???? ??? ? ?? ???? ???? ???? ???. ?? ?? reduceNum()
addNum()getTotal(()? ?? ???? ?? /??> )
????
??????? ? ???? ??? ? ?? ? ??? ?? ???? ??? ???????
??? ??? ?? ??? ???? ????. ??? ? ? ??? ???? ??? ??? ? ? ??? ??? ? ???? ??? ??? ?? ????.
1. ?? ?? ?? ? _remove ??? ???????.
2. getNum ? getTotal ??? ??? ????.