最近维护的报修网站,采用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) {
    if (typeof(source[key]) == 'object'){
    result[key] = deepCopy(source[key]);
    } else {
    result[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前端 的网站构建与维护的更多相关文章

  1. Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架

    在上篇文章里面我们说到了Github账号的申请与配置 那么当你有了Github账号并创建了一个自己的Github项目之后,首要的当然是搭建自己的项目框架啦! 本人对自己的定位是web前端狗,常用开发框 ...

  2. 一款你不容错过的Laravel后台管理扩展包 —— Voyager

    http://laravelacademy.org/post/6401.html  Posted on 2016年11月1日 by  学院君 1.简介 Voyager是一个你不容错过的Laravel后 ...

  3. 推荐几个Laravel 后台管理系统

    小编推荐几个Laravel 后台管理系统 由百牛信息技术bainiu.ltd整理发布于博客园 一.不容错过的Laravel后台管理扩展包 —— Voyager 简介Voyager是一个你不容错过的La ...

  4. 一款你不容错过的Laravel后台管理扩展包 —— Voyager – Laravel学院

    1.简介 Voyager是一个你不容错过的Laravel后台管理扩展包,提供了CRUD操作.媒体管理.菜单构建.数据管理等操作. 官网:https://the-control-group.github ...

  5. javaWeb - 2 — ajax、json — 最后附:后台获取前端中的input type = "file"中的信息 — 更新完毕

    1.ajax是什么? 面向百度百科一下就知道了,这里就简单提炼一下 Ajax即Asynchronous Javascript And XML(异步JavaScript和XML).当然其实我们学的应该叫 ...

  6. java后台对前端输入的特殊字符进行转义

    转自:http://www.cnblogs.com/yangzhilong/p/5667165.html java后台对前端输入的特殊字符进行转义 HTML: 常见的帮助类有2个:一个是spring的 ...

  7. Angularjs,WebAPI 搭建一个简易权限管理系统 —— Angularjs 前端主体结构(五)

    目录 前言 Angularjs名词与概念 Angularjs 基本功能演示 系统业务与实现 WebAPI项目主体结构 Angularjs 前端主体结构 6 Angularjs 前端主体结构 6.1 A ...

  8. WEB前端常用网站收集

    WEB前端常用网站收集整理 w3school.w3schools 前端里.脚本之家.素材家园 17素材.frontopen NEC更好的CSS方案.一些常用的JS实例 Bootstrap  官网  h ...

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式 进行本次文章之前,我们可能需要补充一些 ...

随机推荐

  1. SQL server 和Oracle 序列

    1,SQL Server序列创建与使用 BEGIN IF EXISTS (SELECT * FROM sysobjects WHERE name = 'event_seq') DROP SEQUENC ...

  2. python定制类(以Fib类为例)

    class Fib(object): def __init__(self): self.a, self.b = 0, 1 def __iter__(self): return self def __n ...

  3. IO库 8.3

    题目:什么情况下,下面的while循环会终止? while(cin >> i) /* ... */ 解答:当读取发生错误时上述while循环会终止.比如i是整形,却输入非整形的数:输入文件 ...

  4. Intellij idea workflow 工作流插件安装

    idea提供支持的工作插件名字叫actiBPM,可以在idea中在线安装,但往往会连接不成功安装失败,所以这里提供了硬盘安装的方式: 首先是要去官网下载actiBPM插件,下载地址: http://p ...

  5. 通过class类来实例化其他类的对象(使用有参构造函数)

    import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; class Pers ...

  6. WireShark抓包时TCP数据包出现may be caused by ip checksum offload

    最近用WireShark抓包时发现TCP数据包有报错:IP Checksum Offload,经过查阅资料终于找到了原因 总结下来就是wireshark抓到的数据包提示Checksum错误,是因为它截 ...

  7. Qt双缓冲机制:实现一个简单的绘图工具(纯代码实现)

    http://blog.csdn.net/rl529014/article/details/51658350

  8. Windows 技巧

    1.反选 快捷键: Alt+E+I 2. windows7 以上 cmd命令 切换目录 F:\>cd /d c:\windowsc:\Windows> 3.

  9. 《火球——UML大战需求分析》(0.1)——开篇废话

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  10. elk 日志处理的一点思路

    zjtest7-frontend:/usr/local/logstash-2.3.4/bin# ./logstash -f ../config/logstash_agent.conf zjtest7- ...