new Vue({ el: '#app', data: { msg: '' }, methods: { onblur(e) { this.msg =e.target.innerText; } } })
<div id="app"> <div contenteditable @blur="onblur">{{msg}}</div> </div>
body { background: #20262E; padding: 20px; font-family: Helvetica; } #app { background: #fff; border-radius: 4px; padding: 20px; transition: all 0.2s; } div[contenteditable]{ border:solid 1px red; } li { margin: 8px 0; } h2 { font-weight: bold; margin-bottom: 15px; } del { color: rgba(0, 0, 0, 0.3); }