创建一个项目

image.png
ng new my-ng-app03(项目名)
启动项目 ng serve

一、生成一个组件

  1. # 创建组件 组件会被创建到app目录下
  2. ng generate component foo
  3. ng generate component /home/login
  4. # app.component.html中使用上面创建的组件
  5. <app-foo></app-foo>
  6. <app-login></app-login>
  • ng g component componets/header

项目结构

  1. app.module.ts //根模块
  2. @NgModule({
  3. // 注册组件
  4. declarations: [
  5. AppComponent,
  6. HeaderComponent
  7. ],
  8. imports: [
  9. BrowserModule
  10. ],
  11. providers: [],
  12. bootstrap: [AppComponent]
  13. })
  14. export class AppModule { }

二、指令ngFor,ngIf

  1. <div *ngFor="let item of arr">{{item.name}}</div>
  2. <div *ngIf="isShow">你好</div>

三、属性绑定 [src]

  1. <img [src]="imageUrl" >

四、事件

4-1 (click)

  1. <p (click)="handleClick()">{{msg}}</p>
  2. export class HeaderComponent implements OnInit {
  3. ....
  4. public msg:string ="我喜欢写代码"
  5. constructor() { }
  6. ngOnInit() {
  7. }
  8. handleClick(){
  9. this.msg = "change"
  10. }
  11. }

4-2 (keyup)

  1. <input type="text" (keyup)="handleEnter($event)">
  2. handleEnter(event:any){
  3. console.log(event.keyCode)
  4. }

4-3 (keyup.enter)

  1. handleEnter(value:string){
  2. console.log(value)
  3. }

五、插值表达式

  1. //{{js表达式}}
  2. //[xx] = "js表达式"
  3. <p>Message: {{ msg }}</p>
  4. <p [innerHTML]="msg"></p>
  1. <!-- 写法一 -->
  2. <img src="{{ heroImageUrl }}">
  3. <!-- 写法二,推荐 -->
  4. <img [src]="heroImageUrl">
  5. <!-- 写法三 -->
  6. <img bind-src="heroImageUrl">

在布尔特性的情况下,它们的存在即暗示为 true,属性绑定工作起来略有不同,在这个例子中:

  1. <button [disabled]="isButtonDisabled">Button</button>
  2. 如果 isButtonDisabled 的值是 nullundefined false,则 disabled 特性甚至不会被包含在渲染出来的 <button> 元素中。