最近維護的報修網站,採用Laravel+AngularJS框架搭建,還有不少東西須要熟悉掌握,現將修復的Bug或添加的功能中值得記錄的地方總結以下。css
其中,須要注意的問題基本是緣由不明且不是太嚴重的問題。python
1. JS和python同樣,對象的賦值都爲引用,即a=b若a改變了b也會變,所以若須要a,b二者不相關聯,須要深拷貝。框架
因項目中的變量屬性都爲string類型,因此,直接挨個賦值便可:函數
$scope.old_report = {}; for(var key in $scope.report){ $scope.old_report[key] = $scope.report[key]; }
另外,若是須要更復雜的深拷貝,可參考如下兩種方法:網站
var deepCopy= function(source) { var result={}; for (var key in source) { if (typeof(source[key]) == 'object'){ result[key] = deepCopy(source[key]); } else { result[key] = source[key]; } } return result; }
1. AngularJS的ng-class標籤中的css類名中不能出現’-’,不然沒法工做(緣由不明,估計是bug)。spa
所以,不能寫成這樣:code
<button ng-class='{detail-mine-btn:showmodifybtn}'></button>
只能寫成這樣:對象
<button ng-class='{detail_mine_btn:showmodifybtn}'></button>
showmodifybtn是controller.$scope中的元素blog