Angular 使用总结(一)组件之绑定属性

 

生成组件:

ng generate component simple-test

使用模板表达式:

<div [xxx1]="xxx2"></div>

 

总结 xxx1:

1. 原生DOM元素本身的 Property

例如:

<div [id]="eleId"></div>
<input [(ngModel)]="eleId">
<div [id]="eleId"></div>

xxx1 就是 id了

 

插一句,经常得干的事,否则用不了 ngModel,赶紧写上好了:

 

 

2. Angular 组件对外暴露的属性

 例如:

[progress]="progress | number"

子组件暴露一个progress的属性

<div class="parent">
    <div [style.width.%]="progress" class="child"></div>
</div>
  @Input()
  progress:number = 30;

父组件绑定到的属性,这时候就是子组件暴露的属性,xxx1 就是 progress

Progress:
<input [(ngModel)]="progress"><br><br>
<app-simple-test [progress]="progress | number"></app-simple-test>

效果:

 

 

3. 原生DOM元素的 Attribute Class Style

 例如:

<td [attr.colspan]="colSpan | number">111</td>

Attribute: [attr.xxx]

例子:

col span: <input [(ngModel)]="colSpan">
<table>
    <tr>
        <td>aaa</td>
        <td>bbb</td>
        <td>ccc</td>
    </tr>
    <tr>
        <td [attr.colspan]="colSpan | number">111</td>
    </tr>
</table>

 

注意这句:

 

Class

用法1:[class.container]="isShow" 控制添加和删除一个class

<input type="checkbox" [(ngModel)]="isShow">
<div [class.container]="isShow"></div>

 

用法2:[class]="xxx",xxx 是以空格分隔的class名称

<input [(ngModel)]="myClass">
<div [class]="myClass">Mt Test Div</div>

 

用法3:[class]="xxx",xxx 是个数组

<div [class]="['aa','bb','cc']">Mt Test Div</div>

 

用法4:[class]="xxx",xxx 是个对象

Style:

用法1:设置style上面某个属性:

<div [style.width.%]="progress" class="child"></div>

 

用法2:设置style上面多个属性:

TODO

 

4. 内置和自定义的 Attribute Directive

例如:

<div [ngClass]="myClass" [ngStyle]="myStyle">{{divContent}}</div>
<input [(ngModel)]="divContent">
<div [ngClass]="myClass" [ngStyle]="myStyle">{{divContent}}</div>
  myClass = {
    'aaa': true,
    'bbb': false,
    'ccc': true
  }

  myStyle = {
    width: '200px',
    height: '200px',
    backgroundColor: 'red'
  }

  divContent=""

 

效果:

 

posted @ 2020-03-22 12:15  内心澎湃的水晶侠  阅读(1113)  评论(0编辑  收藏  举报