首页 > 其他 > 详细

读书笔记

时间:2016-07-20 19:16:17      阅读:238      评论:0      收藏:0      [点我收藏+]

一、如何设计友好的REST API

1.使用uuid代替id

2.URI参数定义由/users/age/20/60改为/users?minAge=20&&maxAge=60

3.四大method,GET是安全的,HEAD也安全,POST/PUT/DELETE是不安全的

4.让GET的实现不要改变资源状态,因为GET的攻击手段要比针对其他METHOD的多一点

方法 含义 安全 幂等
GET 读取资源列表或指定资源详情
HEAD 获取资源概况
POST 创建新资源
PUT 更新指定资源
DELETE 删除指定资源

 

幂等的意义在于:它可以安全地自动重试刚才的操作,而不用担心破坏业务逻辑

5.分页的参数模式,推荐使用“起始位置offset+条数size”,一般使用GET请求资源,结果返回数组形式,总条数放在响应头中(用HEAD方法去取,可定时刷新)

二、语法糖controller as

推荐写法:

angular.module(‘app‘).controller(‘DemoController‘, function() {
   var vm = this;
   vm.title = ‘angular‘;
   return vm;   
})

三、双向绑定和watchers函数

compileProvider服务可以用来关闭调试信息(调试类:ng-binding、ng-scope、ng-isolate-scope等)

app.config(function($compileProvider) {

//disable debug info

$compileProvider.debugInfoEnabled(false);

})

四、one-time绑定

如果数据是静态数据,则在绑定的时候为了避免$watch产生导致性能下降,选择单次绑定: $watch在第一次实行是必要的,但之后因为不改变数据所以没有必要$watch。

单次表达式在第一次$digest完成后,将不再计算(检测属性的变化),以“::”作为前缀的表达式为one-time绑定

<ul>
    <li ng-repeat="session in sessions">
        <div class="info">
            {{::session.name}}
        </div>
    </li>
</ul>

注意:目前测试one-time不适用于动态数据

五、滚屏加载(针对大数据集显示)

ngInfiniteScroll开源组件实现滚屏加载

六、总是用ng-model作为输出

有ngModel的地方都可以使用ng-change事件

七、用打包代替动态加载

八、angular-hint

定位angular中常见的错误问题

 

读书笔记

原文:http://www.cnblogs.com/echo2016/p/5689281.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!