gpt4 book ai didi

javascript - 将 Angular 1 转换为 Angular 2 ngInit 函数

转载 作者:太空狗 更新时间:2023-10-29 19:36:25 26 4
gpt4 key购买 nike

在angular1中,我们根据ng-if条件调用函数ng-init。以下代码表示如果第一个 div 与日期 && 时间匹配,则它将检查第二个条件,检查或不检查。如果选中则自动调用 play() 函数,如果未选中则调用暂停函数。

<div ng-if="ramadan.date === date && ramadan.time === clock">
<div ng-if="ramadan.checked" ng-init="play()"></div>
<div ng-if="!ramadan.checked" ng-init="pause()"></div>
</div>

我想通过 angular2 typescript 转换这段代码。有什么方法可以根据 Angular 2的条件自动调用函数吗?

最佳答案

Angular2 中没有ng-init。不过,您可以轻松地自己创建这样的指令。

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

@Directive({
selector: '[ngInit]'
})
export class NgInit {
@Input() ngInit;
ngOnInit() {
if (this.ngInit) {
this.ngInit();
}
}
}

然后像这样使用它

<div *ngIf="ramadan.date === date && ramadan.time === clock">
<div *ngIf="ramadan.checked" [ngInit]="play"></div>
<div *ngIf="!ramadan.checked" [ngInit]="pause"></div>
</div>

关于javascript - 将 Angular 1 转换为 Angular 2 ngInit 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37753698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com