Вы должны либо сделать так, чтобы родитель импортировал детей, либо чтобы дети импортировали родителя. Не оба.
Если ToggleEdit
нужно знать о родителе, он может установить toggleEditor.hasToggleEdit = true
в конструкторе. Затем ToggleEditor
можно использовать hasToggleEdit
, чтобы проверить, использовать шаблон по умолчанию или нет.
С этим методом вы можете столкнуться с проблемами обнаружения изменений, в этом случае вам потребуется ToggleEdit
вызвать toggleEditor.registerToggleEdit()
, и эта функция будет выглядеть следующим образом:
registerToggleEdit() {
this.hasToggleEdit = true;
this.changeDetectorRef.detectChanges();
}
Если Вы после лучшего эмулятора терминала я имел успех с http://sourceforge.net/projects/console/
, Это - замена для стандартного командного окна окон. Можно установить MSYS или Cygwin, или независимо от того, что Вы хотите как оболочка, поддерживающая его.
Вы путаете "оболочку" и "эмулятор терминала". sh.exe
первый; rxvt является последним. (обратите внимание, в соответствии с Windows можно обойтись без эмулятора терминала, потому что Windows создает один ("консоль") для любой консольной программы (такой как sh.exe), если он уже не выполняет внутренний)
Я не использовал материал msys, но его должно быть достаточно, чтобы использовать что-то другое, чем rxvt и выполнить sh.exe в нем. Теперь при использовании управляющих символов Вы, возможно, должны быть уверены независимо от того, что Вы используете поддержки, в чем Вы нуждаетесь (т.е. vt100 эмуляция).
Один маршрут мог бы быть должен использовать cygwin. Я обычно выполняю cygwin с беспочвенным X-сервером и выполняю xterm на нем.. До сих пор это было очень хорошо, и у меня не было многих проблем. Я знаю клавиши со стрелками и такой работать просто великолепно под ним.
Проверьте http://code.google.com/p/mintty/ . Как насчет этого? Я считаю это абсолютно полезным. Или puttycyg (более старая попытка)?
Сделайте себе одолжение и используйте правильный Cygwin вместо не поддерживаемого форка старой версии Cygwin, которая называется msys.