Да, можно разработать простой текстовый редактор с интерфейсом WYSIWYG с использованием Vue.js без использования сторонних библиотек. Вот пример простого текстового редактора, который предоставляет основные функции форматирования:
```html
<template>
<div>
<div>
<button @click="boldText">Bold</button>
<button @click="italicText">Italic</button>
<button @click="underlineText">Underline</button>
</div>
<div contenteditable="true" ref="editor" @input="updateText"></div>
</div>
</template>
<script>
export default {
methods: {
boldText() {
document.execCommand('bold', false, null);
},
italicText() {
document.execCommand('italic', false, null);
},
underlineText() {
document.execCommand('underline', false, null);
},
updateText(event) {
this.$refs.editor.innerHTML = event.target.innerHTML;
}
}
}
</script>
```
Этот пример использует `contenteditable` атрибут для создания редактируемой области и методы `execCommand` для форматирования текста. Однако стоит отметить, что использование `execCommand` не рекомендуется из-за его устаревшей природы и неработоспособности в некоторых браузерах. Вместо этого рекомендуется разработать собственные функции форматирования текста с использованием методов работы с DOM.
Также возможно использование библиотеки contenteditable, которая позволяет управлять редактированием содержимого более гибко и без использования `execCommand`. На GitHub можно найти несколько примеров редакторов, выполненных на Vue.js с помощью библиотеки contenteditable.