使用Angular CLI快速创建Angular项目的一些基本概念
Angular CLI是一个命令行界面工具,它可以创建项目、添加文件以及执行一大堆开发任务,比如测试、打包和发布,这里的快速开始就是基于这个命令。
开始项目前,你需要先安装node和npm,然后执行npm install -g @angular/cli安装Angular CLI。
一用命令行新建一个项目
ng new newApp --skip-install cd newApp pm install ng serve --open
执行上面的命令就会自动新建一个Angualr项目,并启动了项目。
其中--skip-install表示node包先不安装,我们接着使用pm install安装会快多了。
二目录结构
现在来看看ng命令帮助我们生成了什么,也就是项目的目录结构,里面都是干什么的,先有个大致了解,你可以不知道全部,不过先记住狼蚁网站SEO优化几个个人感觉重要的
1.src应用代码存放的地方;
2.src/app你的代码主要存放的地方,这样说也许不合适,不过你开发的时候,大部分时间都是在修改这里的代码;
3.src/assets图片等存放的地方,构建时会复制到发布包里;
4.src/main.js你基本不会修改它,它是程序的主入口;
5.src/styles.css特别用的样式写在对应的地方,后面会说,对于公共的样式就会写在这里;
6.karma.conf.js给Karma的单元测试配置,当运行ng test时会用到它。
三自定义组件
import { Component } from '@angular/core'; @Component({ selector: 'my-p', template: '<ul><li ngFor='let row of dataList'>ID:{{row.id}} INFO:{{row.info}}</li></ul>', styles: [`ul{background-color: antiquewhite;padding-left: 10px;list-style: none;}`] }) export class MyComponent { dataList = [ { id: 1, info: "Angular" }, { id: 2, info: "React" }, { id: 3, info: "Vue" } ]; }
上面就已经定义好了一个非常简单的组件,不过在使用前,你还需要在模块中定义,此时就是src/app/app.module.ts中注册
import { NgModule } from '@angular/core'; import { MyComponent } from './my.ponent'; @NgModule({ declarations: [ MyComponent ] }) ......
现在已经注册好了,你就可以使用了,上面的例子的使用方法很简单,就是自定义了一个标签my-p,和普通的div的用法一模一样。
需要注意的是,为了方便查看,在注册的例子中我去掉了无关的代码,实际情况还好有包括启动,别的组件,服务等的注册,你可以看看命令行自动生成的别的指令,这里主要还是说明更重要的东西,下同。
类似AngularJS,Angular的selector除了上面的自定义标签,还有别的
1.selector: 'element-name'//自定义标签选择器;
2.selector: '.class'//样式选择器;
3.selector: '[attribute]'//属性选择器;
4.selector: '[attribute=value]'//属性值选择器;
5.selector: ':not(sub_selector)'//取反选择器;
6.selector: 'selector1, selector2'//多种选择器。
四自定义服务
和组件一样,我们先来定义一个服务。
import { Injectable } from class DataFormat { id: number; info: string; } @Injectable() export class MyServ { getData(): DataFormat[] { return [ { id: 1, info: "Angular" }, { id: 2, info: "React" }, { id: 3, info: "Vue" } ]; } }
接着来注册它,服务和组件在注册上有点不同,我们现在先注册在主组件上面吧,默认就是在arc/app/app.ponent.ts文件中注册
import { Component } from '@angular/core'; import { MyServ } from './my.service'; @Component({ providers: [MyServ] })
服务的使用也很简单,我们这里用构造函数来演示一下
import { MyServ } from './my.service'; ...... export class MyComponent { dataList: any[]; constructor(private demoService: MyServ) { this.dataList = this.demoService.getData(); } }
还记得自定义组件的代码吗?我们就在其中演示了服务的用法,上面只给出了修改的部分代码。
五路由的使用
我们这里给出路由的一个简单用法,具体的细节和上面的类似,会单独再去讨论,这篇文章的目的就是快速入门使用。
为了方便演示,我们默认已经定义好了二个组件MyComponent和My2Component。
需要确定index.html页面的head标签中定义好了<base href="/" rel="external nofollow" >或动态生成该元素的脚本。
我们先在src/app/app.module.ts中注册路由
...... import { RouterModule } from '@angular/router'; @NgModule({ declarations: [MyComponent,My2Component], imports: [ RouterModule.forRoot([ {path: 'my',ponent: MyComponent}, {path: 'my2',ponent: My2Component} ]) ] ...... }) ......
使用就很简单了
<a routerLink="/my">toMyp</a> <a routerLink="/my2">toMy2p</a> <router-outlet></router-outlet>
点击toMyp或者toMy2p就会跳转对应的路由设置的组件了。
六HTTP
由于@angular/http库中的HttpModule保存着http相关的服务,需要先引入进来(这里是在src/app/app.module.ts中引入)
import { HttpModule } from '@angular/http'; @NgModule({ imports: [HttpModule] }) ......
现在,http就是一个服务,狼蚁网站SEO优化简单演示一种用法
...... import { Http } from '@angular/http'; ...... constructor(private http: Http) { http.get('assets/XXX.json').forEach(function (data) { console.log(data['_body']); }); } ......
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程