Angular6
  # 概念
- 组件:是angular应用的基本构建快,你可以把组件理解为一段带有业务逻辑和数据的HTML
 - 模块:模块用来将应用中不同的部分组织成一个Angular框架可以理解的单元
 - 路由:
 
# 命令
ng new appName————生存新项目- 注意:生成项目同时会下载npm依赖,如果失败需要换代理《nrm》
 
ng serve --open————启动服务器并监听文件变化, --open(或 -o)打开浏览器npm install -g @angular/cli————安装最新版本npm install -g @angular/cli@1.5.2————安装指定版本 1.5.2npm uninstall -g @angular/cli————卸载ng serve --port 4202————以4202端口打开服务
# angular-cli
ng -v————查看angular cli版本ng new xxx————新建项目名称为XXXng generate component xxx————生成组件ng build————打包项目ng build --prod————打包项目并且压缩- 注意:在最新版本ng6+ 的cli加上--prod参数就自动AOT了
 
- ng test ————单元测试
 
# 类型描述文件
- 目的:让typescript认识jQuery和bootstrap,可以在ts文件中调用
 - 安装本地
npm install @types/jquery --save-devnpm install @types/bootstrap --save-dev
 
# 组件
值绑定
[src]、事件绑定(click)、双向绑定[()]内置结构指令
*ngIf、 *ngFor、 ngSwitch
内置属性指令
- NGClass、NgStyle、NgModel
 - ==注意:NgModel只能用在表单上,一般结合双休绑定[(Ngmodel)]使用==
 
管道 过滤作用
public currentTime: Date = new Date();//将currentTime过滤成指定格式
安全导航
{{currentRace?.name}}// 如果currentRace没有name这个值则显示空,不会报错
组件通讯
- 父子组件之间交互(@Input/@Output/模板变量/@ViewChild)
 - 非父子组件之间的交互(Service/localStorage)
 - 还可以利用Session、路由参数来进行通讯、请展开自己想象
 
# 模块
# 路由
- routers 路由配置,保存着哪个URL对应展示哪个组件,以及在哪个RouterOutlet中展示组件
 - RouterOutlet 在HTML中标记路由内容呈现位置的占位符
 - Router 负责在运行时执行的路由对象,可以通过调用navigate()和navigateByUrl()方法导航一个指定路由
 - RouterLink 在Html中声明路由导航用的指令
 - ActivatedRoute 当前激活的路由对象,保存着当前路由的信息,如路由地址,路由参数等。
 # 传路由参数
- 值绑定[queryParams]='{id:1}'
 
# 接路由参数
- ActivatedRoute
 
# 重定向路由
- 主要用途路由后面为空的时候默认为主页
 - {path:'',redirectTo:'/home',pathMatch:'full'}
 
# 依赖注入
- providers————提供者
 - Servic————服务
- Angular 里面的 Service 与后端框架里面的 Service 设计思想是一致的:
 - Service 应该是无状态的。
 - Service 应该可以被很多组件复用,不应该和任何组件紧密相关。
 - 多个 Service 可以组合起来,实现更复杂的服务。
 - 如果你希望 Service 是全局单例的,需要把它定义到根模块里面。
 
 
# 使用
- 注入器
- constructor(private productService:ProductService){...}
- angular中只能用构造器注入服务
 
 
 - constructor(private productService:ProductService){...}
 - 提供器
- 要注入服务的时候一定要在providers里声明掉
 - providers:[ProductService]
 - providers:[{provide: ProductService,useClass:AnotherProductService}]
 
 
上次更新: 2024/07/21, 21:46:04