1、使用LiveReload插件可以监控文件夹中页面的变化,从而刷新浏览器。网址为:http://livereload.com
2、使用Deployd可以对Mongodb进行可视化操作,但遗憾的是开发团队很长时间没有对它进行更新了。网址:https://github.com/deployd/deployd以及http://deployd.com
3、在使用-model时,只能使用在scope上声明过的变量。
4、在使用orderby进行排序时,后面的排序列应该为字符串,也就是用引号扩起来的。如果没带引号,则会认为是变量。
5、run方法接受一个函数,并仅在angularjs执行完初始化设置后运行一次,常用于一次性的任务。
6、angularjs擅长的是单页面类型的程序,而jQuery擅长的是回合式类型的程序。在项目规划初期,需要按情况使用,以免增加复杂度。
7、在客户端使用类似angularjs这样的mvc框架,并不是与使用服务器端mvc框架互斥的,但是你会发现angularjs客户端分担了一部分应出现在服务器端的复杂度。一般来说这是一件好事。
8、Restful服务,rest一种api的形式,而不是一个明确规定的规范,在一个restful的web服务中,被请求的操作通过http方法和url的组合进行表示。一般想法是让url不言自明的,例如:http://myserver.com/people/bob.
在people集合下,查找一个bob的信息。常规操作包括:
GET:获取url指定对象。
PUT:更新URL所指定的对象。
POST:创建一个新的数据对象。
DELETE:删除URL所指定的对象。
9、常见的设计陷阱:
1、将业务逻辑房东视图中,而不是控制器中。
2、强领域逻辑放到控制器中,而不是模型中。
3、在使用RESTful的服务时,强数据存储逻辑放到客户端模型中。
10、需要遵守的规则:
1、视图逻辑应该仅为显示准备数据,并且永远都不应该修改模型。
2、控制器逻辑永远都不应该直接创建、更新、删除模型中的数据。
3、客户端永远都不应该直接访问数据存储。
11、移动端需要添加meta标签才能正常显示,否则移动浏览器将会按照桌面设备设计的那样显示内容。
12、angularjs中使用全局变量是不被赞成的,因为它破坏了关注点的分离,一般来说,如果你必须使用全局变量让两个组件交流,那说明应用程序的设计已经错了。
13、扩展对象,angularjs通过angular.extend方法,从一个对象往另外一个对象赋值方法和属性变得容易。类似于jQuery的extend方法。
14、extend方法保存目标对象上的所有属性和方法,如果想毫无保留的创建对象的复本,可以使用angular.copy,进行复制。
15、null和undefined和undeclared的区别:
undefined:当你读取没有赋值的变量或者师徒读取不存在的对象属性时会返回undefined。
null:当值没有被定义时返回undefined,而当你想指出你赋值但值不是有效的对象、字符串、数字时,使用null,也就是说,你想赋值没有值的值用null。
undeclared:还没有在作用域中声明的变量为undecided。一般直接使用程序会报错。如果要判断,可以使用 type a ==undefined
16、两个显示编码和解码JSON的方法:angular.fromJson和angular.toJson
17、angular.module方法:当传一个参数时,意为找到已有模块,两个参数时,意为创建新的模块。
18、单向绑定和双向绑定:
单向绑定:单向绑定的值可以被过滤显示,或者它可以是个表达式而不是数据值,但他是只读关联的。如果作用域上的值改变,被绑定显示的值也将更新。
双向绑定:双向绑定的值是用在表单元素上,让用户输入值以改变作用于的,而不是仅仅显示它们,在作用域和绑定的数据之间双向更新。
19、跨域:$http.post方法提供了可选配置对象,设置withCredentials为true。这回启用跨域请求的支持。