1
我試圖呈現一個表,其中每行是我的自定義組件<todo-list>
的行,但由此產生的行得到渲染我的表外。爲什麼是這樣?Vue的渲染不正確表
這裏的DOM樹的一個屏幕快照,顯示了所發生的事情:
我的觀點:
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Dashboard</div>
<div class="panel-body">
<div id="appTest">
<div>@{{error}}</div>
<table class="table-responsive">
<todo-list
v-for="todo in todos"
v-bind:todo-obj="todo"
v-bind:key="todo.id"
:todo-obj.sync="todo"
v-on:usun="deleteTod"
></todo-list>
</table>
<div v-if="isLogged" id="todoText">
<textarea v-model="todoText" cols="53" rows="5"></textarea>
<div id="addButton">
<button v-on:click="addTodo" class="btn btn-success" >Add to do</button>
</div>
</div>
<div v-else>
You have to be
<a href="login">Login</a>
to add new todos
</div>
</div>
</div>
</div>
</div>
</div>
</div>
這裏是我的組件:
Vue.component('todoList', {
props: ['todoObj'],
template: '<tr>' +
'<td><div class="round"><input id="todoObj.id" type="checkbox" v-on:click="toggle" v-model="todoObj.done" /><label for="todoObj.id"></label></div></td>' +
'<td class="textTodo">{{todoObj.description}}</td>' +
'<td><button v-on:click="deleteTodo" class="btn-xs btn-danger">delete</button></td>' +
'</tr>',
而且我的複選框不起作用。它們看起來不錯,但是當我點擊它們時它們不會切換,它們只在檢查表格的第一行時纔會作出反應。爲什麼?
你是什麼意思表外?請提供可以複製的代碼示例。也請將此線程限制爲一個問題。 – Cobaltway
我編輯了我的文章 – wenus
你有什麼在你的todos數組? – Cobaltway