最近的文章列表

TodoMVC:帮助你选择一个MV*框架

开发者现在有很多的MV*框架选择来组织开发web应用程序。Backbone、 Ember、AngularJS、Spine… 新的稳定解决方案列表持续增长,但你如何决定在海量的框架中选择哪个使用?

为了帮助解决问题,于是诞生了TodoMVC项目,它使用不同的最流行的JavaScript MV*框架实现了一个相同的Todo应用。

2016/3/2 Comments:
AngularJS VS React哪家强?

Kumar Sanket为Toptal公司的全栈Web开发者/工程师,他在一篇文章《Why I Ditched Angular for React》中对Angular和React进行了对比,他表示Angular在快速开发大型Web项目上很受推崇,但其也存在的种种缺陷,如过于依赖DOM操作,双向数据绑定带来性能问题等。而React作为由Facebook和Instagramin领导的新开源项目,为JavaScript应用开发者提供了新的开发方式,同时具有速度快、跨浏览器兼容、模块化等优点,也是这些优点,让Kumar Sanket选择了React。下面为该文章的译文。


几年前,我的代码因充满了jQuery选择器和回调函数而十分凌乱,后来AngularJS的出现很好地解决了这个问题。

使用AngularJS开发的项目拥有极好的可维护性,AngularJS拥有一系列简单易用的功能,有利于快速开发大型的Web项目。

初识时,AngularJs的双向数据绑定和所有的数据源都放在Model中的设计理念让我惊叹,在实际的开发中,有效地减少了应用程序中的数据冗余。

2016/2/25 Comments:
Angular.js的权威学习资源合集

基础

  1. 官方: http://docs.angularjs.org angularjs官方网站已被墙,可看 http://www.ngnice.com/
  2. 官方zip下载包 https://github.com/dolymood/angular-packages已增加docs服务,输入地址即可,例如:http://blog.aijc.net/angular-packages/angular-1.3.15/docs/
  3. jquery?ag? : http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background
  4. ag note:https://github.com/joeylin/angular-note
  5. angularjs book:https://github.com/shyamseshadri/angularjs-book
  6. learning-angular:https://github.com/zafarali/learning-angular 以及我的翻译版本(ing)https://github.com/dolymood/learning-angular
  7. angular和require结合方式:https://github.com/tnajdek/angular-requirejs-seed

2015/7/24 Comments:
angular scope ng-if(会创建一个子域)与ng-show的区别

angular scope ng-if

问题一:ng-model在ng-if里边 这个model的值不能反应到控制器里。

<div ng-app >
<div ng-controller="main">
Test A: {{testa}}<br />
Test B: {{testb}}<br />
Test C: {{testc}}<br />
<div>
testa (without ng-if): <input type="checkbox" ng-model="testa" />
2015/1/27 Comments:
AngularJS $q 和 $q.all 单个数据源和多个数据源合并(promise的说明)

研究了一下$q回调服务,看来半天都是似懂非懂的样子,感觉实现了异步加载的功能,还是动手试验并记录下来,如果不对欢迎指正(后台是ASP.Net Web API模拟的)

第一种情况的回调,对单个数据源的请求

myApp.factory('myService', function ($http, $q) {  
            return {  
                getAllData: function () {  
                    //定义一个回调服务  
                    var deferred = $q.defer(); 
2015/1/26 Comments:
AngularJS开发中常用的写法,如:获取URL参数、路由跳转、$http、获取元素等

控制器,带状态

app.controller('editCtrl', ['$http', '$location', '$rootScope', '$scope', '$state', '$stateParams', function($http, $location, $rootScope, $scope, $state, $stateParams){
// 上边声明添加显示的依赖注入,是为了防止,压缩(如UglifyJS)时改变function里的参数名,造成功能引用失败。推荐r.js压缩
    // do something...
}

获取路由的参数

$stateParams.id // #/camnpr/editCtrl?id=1
2014/11/23 Comments:
AngularJS 2.0来袭 - Hold!

 Android平台提供了广泛的UI可视组件---widget,把这些小的可视的构件组合到一起,就可以给用户提供复杂而有用的界面。但是,应用程序经常需要一些高级可视组件,要满足这样的需求,并要达到高效的目的,可以把一些标准的widget组合成一个新的可复用的组件。

  例如,包含一个进度条和一个取消按钮的操作进度表示组件;包含两个按钮的面板(取消和确认操作);带有一个图标、标题和说明的面板等等。通过编写定制的View类能够很容易的创建UI组件,但是使用XML会更加容易。

2014/11/11 Comments:
用AngularJS指令来封装一个右键菜单 ng-context-menu

我是工作在一个用AngularJS应用,我提出一个列表,用户可以选择的项目。我不想人群中动作按钮,所以我决定用一个上下文菜单。有一个伟大的jQuery插件提供了一个自举的下拉菜单,当你单击右键,称为引导的上下文菜单。不幸的是,jQuery插件,修改DOM不功能非常有效地与角由于积极重新编译并插入DOM。所以我创建了一个角指令完成同样的功能。检查演示:AngularJS右键菜单插件-ng-context-menu

2014/11/7 Comments:
AngularJS的指令(Directive) compile和link的区别及使用示例

如果我想实现这样一个功能,当一个input失去光标焦点时(blur),执行一些语句,比如当输入用户名后,向后台发ajax请求查询用户名是否已经存在,好有及时的页面相应。

输入 camnpr
angularjs directive input focus

失去焦点后提示 camnpr这个用户名已经存在 
angularjs directive input focus用户名已经存在

2014/11/5 Comments:
AngularJS1.3中的单向绑定、一次性数据绑定(one-time bindings)提高性能

上一篇angular性能优化一文中说道:有些项目场景是只需要单次绑定,减少性能开销的。不久之前,AngularJS 1.3版本正式发布,其中添加了很多的性特性,同时也对之前的一些bug做了修复,最重要的是其中包含一些突破性的变化。其中最重要的一项就是添加了一次性数据绑定。

2014/10/29 Comments: