首页 > 代码库 > Laravel后台 + AngularJS前端 的网站构建与维护

Laravel后台 + AngularJS前端 的网站构建与维护

最近维护的报修网站,采用Laravel+AngularJS框架搭建,还有很多东西需要熟悉掌握,现将修复的Bug或添加的功能中值得记录的地方总结如下。

其中,需要注意的问题基本是原因不明且不是太严重的问题。

 

完美解决的问题

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) {      result[key] = typeof source[key]===’object’? deepCoyp(source[key]): source[key];         }     return result; }

 

 

需要注意的问题

1. AngularJS的ng-class标签中的css类名中不能出现’-’,否则无法工作(原因不明,估计是bug)。

因此,不能写成这样:

<button ng-class=‘{detail-mine-btn:showmodifybtn}‘></button>

只能写成这样:

<button ng-class=‘{detail_mine_btn:showmodifybtn}‘></button>

showmodifybtn是controller.$scope中的元素

Laravel后台 + AngularJS前端 的网站构建与维护