Эта ошибка возникает, когда атрибут ngSkipHydration был добавлен к недопустимому DOM-узлу. Атрибут ngSkipHydration
можно применять только к хост-узлам компонента: либо напрямую в шаблоне, либо через привязку к хосту (host binding). Его
нельзя применять к другим DOM-узлам; в противном случае это не даст никакого эффекта, кроме возникновения данной ошибки.
Дополнительную информацию о гидратации можно найти в этом руководстве.
Следующие примеры приведут к возникновению ошибки.
Пример 1
В этом примере атрибут ngSkipHydration применяется к <div> с использованием привязки к хосту директивы. Поскольку
<div> не является хост-узлом компонента, Angular выдаст ошибку.
@Directive({
selector: '[dir]',
host: {ngSkipHydration: 'true'},
})
class Dir {
}
@Component({
selector: 'app',
imports: [Dir],
template: `
<div dir></div>
`,
})
class SimpleComponent {
}
Пример 2
В этом примере ngSkipHydration применяется к <div> как атрибут в шаблоне.
Поскольку <div> не является хост-узлом компонента, Angular выдаст ошибку.
@Component({
selector: 'app',
template: `
<div ngSkipHydration></div>
`,
})
class SimpleComponent {
}
Отладка ошибки
Удалите атрибут ngSkipHydration со всех недопустимых DOM-узлов. В качестве альтернативы переместите атрибут
ngSkipHydration на хост-узел компонента (в шаблоне или через привязку к хосту).