@Component требует представления, тогда как @Directive - нет.
Я сравниваю @Directive с директивой Angular 1.0 с опцией restrict: 'A'
strike> (Директивы не ограничиваются использованием атрибутов.) Директивы добавляют поведение к существующим Элемент DOM или существующий экземпляр компонента. Одним из примеров использования директивы будет регистрация клика по элементу.
import {Directive} from '@angular/core';
@Directive({
selector: "[logOnClick]",
hostListeners: {
'click': 'onClick()',
},
})
class LogOnClick {
constructor() {}
onClick() { console.log('Element clicked!'); }
}
Что будет использоваться следующим образом:
Компонент, а не добавление / изменение поведения, фактически создает свое собственное представление (иерархия элементов DOM) с прикрепленным поведением. Примером использования этого может быть компонент карты контакта:
import {Component, View} from '@angular/core';
@Component({
selector: 'contact-card',
template: `
{{name}}
{{city}}
`
})
class ContactCard {
@Input() name: string
@Input() city: string
constructor() {}
}
, который будет использоваться следующим образом:
ContactCard
- это компонент пользовательского интерфейса многократного использования, который мы могли бы использовать в любом месте нашего приложения, даже внутри других компонентов. Они в основном составляют строительные блоки UI наших приложений.
Напишите компонент, когда вы хотите создать повторно используемый набор элементов DOM пользовательского интерфейса с пользовательским поведением. Напишите директиву, когда вы хотите написать многократно используемое поведение для дополнения существующих элементов DOM.
Источники:
Некоторые EFI имеют амнезию - они забывают свои настройки загрузки при перезагрузке или после выключения питания. Также могут быть проблемы с другой ОС (обычно Windows), сбрасывающей собственный загрузчик по умолчанию. Существует несколько возможных решений таких проблем:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
. Измените путь к загрузчику, если вы используете что-то другое - обратите внимание, что если активна Secure Boot, вы будете использовать shim, который обычно shimx64.efi
в Ubuntu. EFI/ubuntu/grubx64.efi
- EFI/BOOT/bootx64.efi
в ESP. (ESP обычно монтируется в /boot/efi
в Ubuntu.) EFI/Microsoft/Boot/bootmgfw.efi
(если есть) в ESP и скопируйте grubx64.efi
с этим именем. bootmgfw.efi
- это загрузчик Windows, и некоторые ошибочные EFI загружают его автоматически. Эти два последних элемента могут быть выполнены полуавтоматически с помощью Boot Repair, хотя вам может потребоваться проверить расширенную опцию, чтобы заставить их работать.