考虑这个子组件:
@Component({
selector: 'mySelector',
template: `<ion-spinner [ngIf]="ngif"></ion-spinner>`
})
export class MyDirective {
ngif: boolean;
constructor() {}
@Input() serverWaiting:boolean = true;
@HostBinding('ngIf')
ngOnChanges() {
this.ngif = !this.serverWaiting ? true : null;
}
Run Code Online (Sandbox Code Playgroud)
主机组件的模板:
<mySelector [serverWaiting]></mySelector>
Run Code Online (Sandbox Code Playgroud)
主机组件:
@Component({
templateUrl: 'hostComp.html',
directives: [myDirective]
})
export class HostComp {
serverWaiting = true;
}
Run Code Online (Sandbox Code Playgroud)
然而,Spinner没有显示.知道我做错了什么吗?
资料来源:https://angular.io/docs/ts/latest/api/common/index/NgIf-directive.html
该@HostBinding('ngIf')
装饰需要与应约束和属性值之前.
export class MyDirective {
constructor() {}
@HostBinding('ngIf')
ngif: boolean;
@Input() serverWaiting:boolean = true;
ngOnChanges() {
this.ngif = !this.serverWaiting ? true : null;
}
}
Run Code Online (Sandbox Code Playgroud)
此代码看起来不合适
<mySelector [serverWaiting]></mySelector>
Run Code Online (Sandbox Code Playgroud)
[serverWaiting]
表示属性绑定但不绑定值.true
如果你期望的话,这不会分配.你需要
<mySelector [serverWaiting]="true"></mySelector>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3658 次 |
最近记录: |