<template>
<div>
<textarea v-model="editorContent" @input="updateEditor"></textarea>
<div v-html="formattedContent"></div>
</div>
</template>
<script>
export default {
data() {
return {
editorContent: ''
};
},
computed: {
formattedContent() {
// 简单的格式化逻辑,例如将换行符转换为<br>
return this.editorContent.replace(/\n/g, '<br>');
}
},
methods: {
updateEditor(event) {
// 当文本框内容更新时触发
console.log('Editor content updated:', event.target.value);
}
}
};
</script>
<style scoped>
textarea {
width: 100%;
height: 200px;
}
</style>
模板部分 (<template>
):
<textarea>
元素来作为文本编辑器。v-model
指令将 textarea
的值绑定到组件的 data
中的 editorContent
属性。@input
事件监听器来监听用户输入,并调用 updateEditor
方法。<div>
来显示格式化后的内容,使用 v-html
指令来插入 HTML 内容。脚本部分 (<script>
):
data
函数,返回一个对象,其中包含 editorContent
属性,用于存储文本编辑器的内容。computed
计算属性 formattedContent
来格式化文本内容。这里简单地将换行符 \n
替换为 HTML 的 <br>
标签。methods
对象中的 updateEditor
方法,当用户在 textarea
中输入内容时会触发此方法,并打印出当前的编辑器内容。样式部分 (<style scoped>
):
textarea
设置了宽度和高度,使其占据整个父容器的宽度并具有固定的高度。上一篇:vue h()
下一篇:html转vue工具
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站