最近的文章列表

AngularJS性能优化总结篇

1. 脏数据检查 != 轮询检查更新  2. $digest后批量更新UI  3. 提速 $digest cycle

3.1. 关键点   3.2. 优化$watch   3.3. $apply vs $digest   3.4. 延迟执行
4. 优化ng-repeat   4.1. 限制列表个数  4.2. 使用 track by
5. 使用单次绑定
6. 慎用filter
7. 慎用事件
8. directive
9. 使用Batarang来分析性能

2014/10/28 Comments:
AngularJS的Provider, Value, Constant, Service, Factory, Decorator的区别与详解

首先,providervalueconstantservicefactory他们都是provider!(decorator小朋友先搬个小板凳坐在边上等会儿,现在还没轮到你出场哈~)

provider是干啥的?

provider可以为应用提供通用的服务,形式可以是常量,也可以是对象。

比如我们在controller里常用的$http就是AngularJS框架提供的provider~

2014/10/27 Comments:
AngularJS的View-Model双向绑定 - $digest()和$apply()的区别 - jQuery里触发双向绑定

AngularJS是通过该什么来触发绑定的,怎么触发?下边的三个概念需要知道:

  • Dirty Checking – AngularJS内部比较value现在的值和之前的值,如果发生了改变,就触发change事件。
  • Digest – 执行Dirty Checking的机制,由$digest()触发。
  • Apply – 当dom事件在AngularJS机制外被触发时,需要通知AngularJS进行Digest。由$apply()触发。
2014/10/27 Comments:
Scope在AngularJS里的地位 - $rootScope和child scope怎么相互访问

Scope是AngularJS里的一个很重要的概念,简单的说它就是用来保存AngularJS Model们的对象,是Model们温暖的小家~

那这个小家是什么时候造的呢?

<html ng-app="mainApp">
</html>
2014/10/27 Comments:
AngularJS里的service $evalAsync和$timeout的区别

区别总结如下:

directive中执行的$evalAsync, 会在angular操作DOM之后,浏览器渲染之前执行。

controller中执行的$evalAsync, 会在angular操作DOM之前执行,一般不这么用。

而使用$timeout,会在浏览器渲染之后执行。

2014/10/24 Comments:
AngularJS的五大特性 - 双向数据绑定、模板、MVC、依赖注入(DI)、Directives(指令)

AngularJS是由Google创建的一种JS框架,使用它可以扩展应用程序中的HTML词汇,从而在web应用程序中使用HTML声明动态内容。

AngularJS可以让你扩展HTML的语法,以便清晰、简洁地表示应用程序中的组件,并允许将标准的HTML作为你的模板语言,AngularJS可以通过双向数据绑定自动从拥有JavaScript对 象(模型)的UI(视图)中同步数据。

特性一:双向数据绑定

2014/10/24 Comments:
Angularjs第三方模块angular-route和angular-ui-router的区别、差异、不同

ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?

很多文章中都有说道:当时ngRoute在路由配置时用$routeProvider,但是当ui-router路由配置时用 $stateProvider 和 $urlRouterProvider。

那么它们有什么不同呢?

1、ngroute是用AngularJS框架的核心部分。

2、ui-router是一个社区库,它是用来提高完善ngroute路由功能的。

2014/9/19 Comments:
Angularjs第三方插件ui-bootstrap-tpls.min.js和ui-bootstrap.min.js的区别、差异、不同

Angularjs火的一塌糊涂,它的双向绑定确实很好用,但是,UI样式是弱项,BootStrap几乎与之同期横空出世,样式那叫一个美呀。所以,ng搭载bootstrap,那叫一个郎才女貌呀!!!

废话别一大堆了,说正题:

一句话说明区别:ui-bootstrap-tpls.min.js == (ui-bootstrap.min.js + html templates)

如果,你只在项目中选择了:ui-bootstrap.min.js。那么:你也将需要提供您自己的HTML模板。

否则的话,你将会看到类似这样的错误:

GET http://camnpr.com/website/template/tooltip/tooltip-popup.html 404 (Not Found) angular.js:7073
Error: [$compile:tpload] http://errors.angularjs.org/undefined/$compile/tpload?p0=template%2Ftooltip%2Ftooltip-popup.html
2014/9/19 Comments:
angularjs的ng-repeat循环列表中序号怎么写?($index)

一个列表循环,序号标识是常见的,c#语言如何实现,我们知道,C# repeater控件里添加序号的4种方法。那么在js框架angularjs里使用ng-repeat怎么实现添加序号呢?
直接上代码,一看就懂了:

<table class="table table-bordered mt20 table-td-center">
    <thead>
        <tr>
           <th>序号</th>
2014/9/12 Comments:
AngularJs Error(factory): [$resource:badcfg] Error in resource configuration
angular.module('admin.services', ['ngResource'])    
// GET TASK LIST ACTIVITY
.factory('getTaskService', function($resource) {
return $resource(
'../rest/api.php',
2014/9/5 Comments: