<div v-for="item in imControls.messages" >
<p v-once>
<span class="" v-if="item.type==3">{{item.name}}:</span>
<span class="red" v-if="item.type==4">{{item.name}}:</span>
<span class="blue" v-if="item.type==2">{{item.name}}:</span>
<span class="grey" v-if="item.type==1">{{item.name}}:</span>
<span v-html="item.text"></span>
</p>
</div>
imControls.messages
存在,如果我在v-once
标签上不使用p
,则没关系,但如果我使用v-once,则无法找到项目。
错误是
'vue.js:2574 [Vue warn]:属性或方法“item”未在实例上定义,但在渲染期间引用。确保在数据选项中声明反应数据属性。 (在根实例中找到)
vue.js:2217 Uncaught TypeError:无法读取未定义的属性'type''
答案 0 :(得分:0)
v-once
指令可直接用于v-for
<div v-for="item in imControls.messages" v-once>
<span class="" v-if="item.type==3">{{item.name}}:</span>
<span class="red" v-if="item.type==4">{{item.name}}:</span>
<span class="blue" v-if="item.type==2">{{item.name}}:</span>
<span class="grey" v-if="item.type==1">{{item.name}}:</span>
<span v-html="item.text"></span>
</div>
答案 1 :(得分:0)
在v-for语句中不需要v-once,因为它已在vue.js 2.0.8中修复