我使用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() {
}
}
答案 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
。