2017-04-06 43 views
0

是否有可能只呈现一旦进入一个元素?VueJS渲染一旦进入一个元素

假设我有一个DIV CONTENTEDITABLE,只需要渲染的第一个值,然后停止重新描绘为模型的变化。这里只会显示初始值variable

<div contenteditable="true"> {{variable}} </div>

+0

*作为模态的变化*?第一个'keyup'发生的那一刻? –

+0

就变 – user1506145

回答

2

使用v-once

<div contenteditable="true" v-once> {{variable}} </div> 

你也可以用<span>包装它:

<div contenteditable="true"> 
    <span v-once> {{variable}} </span> 
</div> 

裁判:
https://vuejs.org/v2/guide/components.html#Cheap-Static-Components-with-v-once https://vuejs.org/v2/api/#v-once


或者另一种解决方案是简单地克隆variable只是不,如果你把它readOnlyVariable修改它,例如:

<div contenteditable="true"> {{readOnlyVariable}} </div> 
+0

这主要是为组件呈现的初始值,我不能把一次V时元素,如果它包含了很多逻辑的。我只是想呈现文本一次,而不是包裹在一个元件。 – user1506145

+0

你是什么意思*如果它包含很多逻辑。*?你可以把'v-once'放在一个简单的'div'中;你也可以用一个组件 – CodinCat

+0

所以其包装上的内容编辑的div我有很多V系列:,V-绑定的:等,这正是我想要呈现的一次实际文本节点,包含在{{变量}},而不是包含的元素 – user1506145