Javascript vuejs内容可编辑和回线问题
Hy, 我尝试为vuejs创建标记编辑器,但我可以使用backline(\n) 在我的组件的价值!我怎样才能做到这一点 用于像堆栈或github这样的文本的干净格式化Javascript vuejs内容可编辑和回线问题,javascript,vuejs2,ecmascript-5,Javascript,Vuejs2,Ecmascript 5,Hy, 我尝试为vuejs创建标记编辑器,但我可以使用backline(\n) 在我的组件的价值!我怎样才能做到这一点 用于像堆栈或github这样的文本的干净格式化 {{value}} 导出默认值{ 道具:['value'], 方法:{ 发送(事件){ console.log(this.content) 如果(事件!==未定义){ log(event.target.innerHTML) 此.emit('input',event.target.innerHTML) } this.$emit(
{{value}}
导出默认值{
道具:['value'],
方法:{
发送(事件){
console.log(this.content)
如果(事件!==未定义){
log(event.target.innerHTML)
此.emit('input',event.target.innerHTML)
}
this.$emit('input',this.value)
}
}
}
谢谢你的帮助 这样就可以了
{{value}
有两个问题,第一个是在regexp中,您需要避开反斜杠\\n
才能添加
我注意到的第二个问题是,在contenteditable div中,实际上无法写入,因为光标总是在开头,我想这是一个渲染问题(vue在每次击键时渲染文本)
检查下面
Vue.component('editor'{
模板:“{inp}}”,
道具:['value'],
数据:函数(){
返回{
inp:这个值
}
},
方法:{
发送:功能(事件){
此.$emit('input',event.target.innerText)
}
}
})
新Vue({
el:“#应用程序”,
数据:{
测试:'带背面“+”的文本\\r\\n“+”此处'
},
计算:{
文本:函数(){
返回此。测试。替换(/(\\r |\\n)/g,
)
}
}
})
.editor{
宽度:50%;
高度:200px;
显示:块;
边框:1px实心;
}
有第二个问题:
未在$emit input type事件上更新v模型最后我使用了textarea:
这更令人兴奋;) 不清楚你问什么。。。请使问题更容易理解,并可能包括您期望的内容和您得到的错误:)此非工作字符“/n”或“/r”可见。在你的编辑器中你不显示这个是的。。你可以把我的答案标记为正确,然后再问另一个关于stackoverflow的问题:)你不了解这个问题。。。你的答案不好:=>好方法
<template>
<div>
<div contenteditable="true" class="editor" @input="send"> {{ value }}
</div>
</div>
</template>
<script>
export default {
props: ['value'],
methods:{
send (event) {
console.log(this.content)
if (event !== undefined) {
console.log(event.target.innerHTML)
this.$emit('input', event.target.innerHTML)
}
this.$emit('input', this.value )
}
}
}
</script>
<pre>{{ value }}</pre>