Laravel後臺 + AngularJS前端 的網站構建與維護

最近維護的報修網站,採用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];
}

另外,若是須要更復雜的深拷貝,可參考如下兩種方法:網站

  • 可用JQuery.extend(true, {..})函數,不過返回的對象還附有其餘函數等信息。
  • 附完整深拷貝代碼:
    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

相關文章
相關標籤/搜索