Почему деструктор проигнорирован в этом коде?

Затем используйте EventEmitter для переключения. что-то вроде ниже.

appchild.component.ts

import { Component, Input, EventEmitter, Output } from '@angular/core';

@Component({
  selector: 'app-child',
  template: `<button class='btn btn-primary' (click)="handleclick()">Click me</button> `
})

export class AppChildComponent {
  handleclick() {
    // Add toggle code here or set the flag to show/hide
  }
}
7
задан Johan - reinstate Monica 6 May 2014 в 21:57
поделиться

6 ответов

Это, кажется, ошибка компилятора. Я просто выполнил тот же образец в VS2008SP1 и получил ожидаемый вывод.

5
ответ дан 6 December 2019 в 15:32
поделиться

Для чего это стоит, GCC 3.4.6 делает ожидаемую вещь:

$ g++ main.cpp

$ a.out
C::C()
C::C()
C::~C()
C::~C()
caught exception
4
ответ дан 6 December 2019 в 15:32
поделиться

Если исключение будет выдано в конструкторе Object, то деструктор не будет работать.

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

См. http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.4

Править: Ответ на комментарий ниже... В этом случае наиболее вероятно, что ошибка компилятора, смешивающая ', не выполняет деструктор' правило в с неправильно не уничтожением объектов на стеке.

1
ответ дан 6 December 2019 в 15:32
поделиться

Возможно, поток суда не сбрасывается? Можно ли попробовать cerr вместо этого? или непосредственно помещенный точка останова в деструктор и проверку, если они поражены?

1
ответ дан 6 December 2019 в 15:32
поделиться

Похож на ошибку в стопке обработки исключений, раскручивают код. Попытайтесь делать простой класс E с экземпляром его в конструкторе D и посмотрите, называют ли это.

0
ответ дан 6 December 2019 в 15:32
поделиться

Это ошибка компилятора в C ++ Builder 2006. C ++ Builder 2009 исправляет ее; это вывод, который я получаю для BCC v6.1:

C::C() 1
C::C() 2
C::C() 3
C::~C() 3
C::~C() 2
C::~C() 1
caught exception
2
ответ дан 6 December 2019 в 15:32
поделиться
Другие вопросы по тегам:

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