Пардон с мобилки пишу, если еще актуально и на основе комментариев выше.
mplate>
<div id="app">
<span
contenteditable="true"
spellcheck="false"
style="width: 800px; display: block"
v-text="textEl"
@focus="focused = true"
@blur="focused = false"
/>
{{ focused }}
</div>
</template>
<script>
export default {
data() {
return {
focused: false,
};
},
computed: {
textEl() {
if (this.focused) {
return "text with focus";
} else {
return "text with not focus";
}
},
},
};
</script>
Просто делаете вычисляемым свойством и все меняется. Извините на sandboxe не смог с мобилки сохранить