constructor
вызывается, когда Angular «создает / конструирует» компонент. Метод ngOnInit
представляет собой ловушку, которая представляет часть инициализации жизненного цикла компонента. Хорошей практикой является использование его только для сервисного внедрения :
constructor(private
service1: Service1,
service2: Service2
){};
Даже если это возможно, вам не следует выполнять какую-то «работу» внутри. Если вы хотите запустить какое-то действие, которое должно произойти при «инициализации» компонента, используйте ngOnInit
:
ngOnInit(){
service1.someWork();
};
Более того, действия, которые включают входные свойства , поступающие из родительского компонента , не может быть сделано в конструкторе. Они должны быть размещены в методе ngOnInit
или другом крючке. То же самое относится к элементу, связанному с представлением (DOM), например, элементы viewchild :
@Input itemFromParent: string;
@ViewChild('childView') childView;
constructor(){
console.log(itemFromParent); // KO
// childView is undefined here
};
ngOnInit(){
console.log(itemFromParent); // OK
// childView is undefined here, you can manipulate here
};
Есть еще более простой механизм активации кода кнопки. Класс WPF Button предоставляет свойство IsDefault. Если установлено значение true, если вы нажмете return, когда некоторые объекты в окне имеют фокус, код события нажатия кнопки будет запущен автоматически. Этот механизм работает как заклинание с паролем.
Вы можете обработать событие KeyDown в PasswordBox (и TextBox, если хотите), а затем использовать следующий обработчик событий -
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key != Key.Return && e.Key != Key.Enter)
return;
e.Handled = true;
HandleEnter();
}
Вы можете попробовать использовать RoutedCommand.
Вы можете установить его в свойстве Command кнопки.
Вы также можете добавить KeyGesture к InputBindings вашей формы входа, чтобы связать клавишу Enter для запуска вашей RoutedCommand.
Затем добавьте CommandBinding в CommandBindings вашей формы входа, чтобы привязать RoutedCommand к обработчикам Executed в вашем коде и выполнить или запустить ваш процесс проверки входа в систему.