У вас может быть такая функция.
Например, с 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;
}
Вы все немного перепутали, вам нужно использовать метод 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
значение события через параметры. Надеюсь, это поможет.
Попробуйте
<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
}
я пишу код из головы, чтобы он мог иметь некоторые ошибки