Я подозреваю, что вам нужно сделать больше реализации. contenteditable - это не вещь angular, это атрибут HTML, который указывает, что элемент является редактируемым. Я могу ошибаться, но я не думаю, что это имеет какое-либо отношение к привязке angular. Я искал Angular .io и "contenteditable" не нашел ни одного хита в документах.
К счастью, есть некоторые примеры того, как создать директиву для этого, и кажется, что многие модули (angular -mentions) завершают это для вас.
Вот два примера, которые я случайно выбрал при поиске «contenteditable angular» на GitHub:
https://github.com/KostyaTretyak/ng-stack/tree/master/projects/contenteditable
https://github.com/TinkoffCreditSystems/angular-contenteditable-accessor
Если вы посмотрите какой-нибудь код, вы обнаружите то же самое: создайте директиву, которая управляет обновлениями содержимого, например:
/*
* This is a barebones contenteditable {@link ControlValueAccessor} allowing you to use
* Angular forms with native contenteditable HTML. For security reasons you might want
* to consider sanitizing pasted/dropped content before using it. Also make sure that
* you do not set any dangerous content as control value yourself, because directive
* just outputs control value as-is.
*/
@Directive({
selector:
'[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => ContenteditableValueAccessor),
multi: true,
},
],
})
etc. etc.