![](/img/trans.png)
[英]Vue.js : Property or method is not defined on the instance but referenced during render
[英]Error: vue.js:634 [Vue warn]: Property or method "item" is not defined on the instance but referenced during render
對不起。 我不明白,為什么 Vue 執行代碼 v-for 並與另一個中斷
<div v_model="main">
<tr v-for="item in main" >
<th scope="row">[[ item.name ]]</th>
</tr>
</div>
沒用的
<div v_model="main">
<tr v-for="item in main" >
<th scope="row">[[ item.name ]]</th>
</tr>
</div>
工作代碼:
<li class="form-control input-xs" v-for="item in main">
<label> [[ item.name ]] </label>
</li>
我使用了 Django,因為選項:分隔符:['[[', ']]']
幫幫我,請理解這個錯誤。
該問題是由於您的 HTML 無效造成的。
Vue 正在驗證您的文檔結構,因為<tr>
應該只是<table>
、 <thead>
、 <tbody>
或<tfoot>
元素(請參閱<tr>
:表格行元素 - 技術摘要 - 允許的父母) ,您的v-for
表達式不會被評估。
這是一個工作示例...
new Vue({ delimiters: ['[[', ']]'], el: "#app", data: { main: [ { name: "Learn JavaScript", done: false }, { name: "Learn Vue", done: false }, { name: "Play around in JSFiddle", done: true }, { name: "Build something awesome", done: true } ] } })
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script> <div id="app"> <table border="1"> <tr v-for="item in main" > <th scope="row">[[ item.name ]]</th> <td>[[ item.done ? '✔️' : '❌' ]]</td> </tr> </table> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.