离子本机组件与Angular自定义组件

时间:2017-05-16 12:13:21

标签: angular ionic-framework ionic2 components ionic3

我使用this article创建了角度进度条组件。它工作正常。您能告诉我角度自定义组件与原生ionic component like ion-range之间的区别是什么?

自定义角度组件:

import { Component, Input } from '@angular/core';

@Component({
  selector: 'progress-bar',
  templateUrl: 'progress-bar.html'
})
export class ProgressBarComponent {

  @Input('progress') progress;

  constructor() {

  }

}

1 个答案:

答案 0 :(得分:2)

差别并非如此。 离子是建立在角度之上。所有特定的离子成分都是使用角度分量装饰器构建的。像ion-range这样的组件实际上是ionic-angular模块中的Angular组件。

如果检查链接源,则显示为:

@Component({
  selector: 'ion-range',
  template: '<!-- custom html here -->'

  providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: Range, multi: true } ],
  encapsulation: ViewEncapsulation.None,
})
export class Range extends BaseInput<any> implements AfterContentInit, ControlValueAccessor, OnDestroy {
//..
}

使用角度@input()定义每个离子组件的输入属性,并使用Angular ionChange定义所有输出事件,如EventEmitter