标签:
1.下载 git clone --depth=14 https://github.com/angular/angular-phonecat.git
2. git checkout -f step-0
3.npm install 安装package.json中的插件(包括grunt之类)
4.bower install(npm install -g bower)适合Web应用的包管理器
5.npm start
npm 是 Node.js 的模块依赖管理工具。主要解决开发 Node.js 时会遇到的问题。如同 RubyGems 对于 Ruby 开发者和 Maven 对于 Java 开发者的重要性。package.json 、npm 的配置、npm install 命令、npm link 命令和其它 npm 命令。
6. <html lang="en" ng-app>
ng-app
指令标记了AngularJS脚本的作用域,在<html>
中添加ng-app
属性即说明整个<html>
都是AngularJS脚本作用域。开发者也可以在局部使用ng-app
指令,如<div ng-app>
,则AngularJS脚本仅在该<div>
中运行
7.AngularJS应用,使用模型-视图-控制器(MVC)模式解耦代码和分离关注点
8服务是通过AngularJS的依赖注入DI子系统来管理的。依赖注入服务可以使你的Web应用良好构建(比如分离表现层、数据和控制三者的部件)并且松耦合(一个部件自己不需要解决部件之间的依赖问题,它们都被DI子系统所处理)。
为了使用AngularJS的服务,你只需要在控制器的构造函数里面作为参数声明出所需服务的名字,就像这样:
function PhoneListCtrl($scope, $http) {...}
9.使用ngSrc指令代替<img>
的src
属性标签。如果我们仅仅用一个正常src
属性来进行绑定(<img class="diagram" src="{{phone.imageUrl}}">
),浏览器会把AngularJS的{{ 表达式 }}
标记直接进行字面解释,并且发起一个向非法urlhttp://localhost:8000/app/{{phone.imageUrl}}
的请求。
10.关于依赖注入(DI),注入器(Injector)和服务提供者(Providers)
依赖注入是AngularJS的核心特性,这家伙是怎么工作的。
当应用引导时,AngularJS会创建一个注入器,我们应用后面所有依赖注入的服务都会需要它。这个注入器自己并不知道$http
和$route
是 干什么的,实际上除非它在模块定义的时候被配置过,否则它根本都不知道这些服务的存在。
注入器唯一的职责是载入指定的服务模块,在这些模块中注册所有定义 的服务提供者,并且当需要时给一个指定的函数注入依赖(服务)。这些依赖通过它们的提供者“懒惰式”(需要时才加载)实例化。
提供者是提供(创建)服务实例并且对外提供API接口的对象,它可以被用来控制一个服务的创建和运行时行为。对于$route
服务来说,$routeProvider
对外提供了API接口,通过API接口允许你为你的应用定义路由规则。
AngularJS模块解决了从应用中删除全局状态和提供方法来配置注入器这两个问题。和AMD
或者require.js
这两个模块(非AngularJS的两个库)不同的是,AngularJS模块并没有试图去解决脚本加载顺序以及懒惰式脚本加载这样的问题。这些目标和AngularJS要解决的问题毫无关联,所以这些模块完全可以共存来实现各自的目标。
标签:
原文地址:http://my.oschina.net/u/2002748/blog/399280