Angular 6 Захват значения дочернего компонента в parent с помощью @Output ()

У вас может быть такая функция.

Например, с 2012/12/27 по 2012/12/29 становится 3 дня. Аналогично, с 2012/12/15 до 2013/01/15 становится 2 месяца, потому что до 2013/01/14 это 1 месяц. с 15-го года начался второй месяц.

Вы можете удалить «=» во втором условии if, если вы не хотите включать оба дня в расчет. то есть с 2012/12/15 до 2013/01/15 составляет 1 месяц.

public int GetMonths(DateTime startDate, DateTime endDate)
{
    if (startDate > endDate)
    {
        throw new Exception("Start Date is greater than the End Date");
    }

    int months = ((endDate.Year * 12) + endDate.Month) - ((startDate.Year * 12) + startDate.Month);

    if (endDate.Day >= startDate.Day)
    {
        months++;
    }

    return months;
}
1
задан Kamil Kiełczewski 28 February 2019 в 21:37
поделиться

2 ответа

Вы все немного перепутали, вам нужно использовать метод emit(value) в поле @Output в дочернем компоненте, и это значение будет передано в метод в родительском компоненте, с которым вы подписались на конкретный Output из ребенок. Например, взгляните на этот пример (смотрите в папке «example»):


Здесь мы запускаем событие в дочернем компоненте:

toggleSuccess() {
    this.clickValidateAndSave.emit(this.bSuccess = !this.bSuccess);
}

Здесь мы подписываемся на это событие в родительском компоненте:

<app-child (clickValidateAndSave)="onClickValidateAndSave($event)"></app-child>

И вот тот метод в родителе, которым мы подписались на дочернее событие:

onClickValidateAndSave(value: boolean) {
    this.buttonDisabled = value;
}

Обратите внимание, что мы можем получить доступ Output значение события через параметры. Надеюсь, это поможет.

0
ответ дан Amir Arbabian 28 February 2019 в 21:37
поделиться

Попробуйте

<app-child (clickValidateAndSave)="handleClickOnChild($event)" ></app-child>
<div class="row col-mg-6">
    <button type="submit" class="btn btn-primary" [disabled]="disableBtn"
            [(ngModel)]="clickValidateAndSave">
        Submit for Approval {{clickValidateAndSave}}
    </button>
</div>

и в родительском js

 disableBtn = false;
 ...

 handleClickOnChild(bSuccess) {
     this.disableBtn = !bSuccess
 }

я пишу код из головы, чтобы он мог иметь некоторые ошибки

0
ответ дан Kamil Kiełczewski 28 February 2019 в 21:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: