前提・実現したいこと
『Vue.jsとRailsでTODOアプリのチュートリアルみたいなものを作ってみた』
https://qiita.com/naoki85/items/51a8b0f2cbf949d08b11
このサイトを参考にrailsとvue.jsを使ってTODOアプリを作成しています。
登録されているタスクをv-forで表示していく中で、すでに完了しているタスクは表示させない、というのをv-ifを使ってやっているのですが、上記のサイトにあるコードではエラーになってしまいます。
発生している問題・エラーメッセージ
v-ifとv-bind:idの2箇所でエラーが出ています。
[vue/no-use-v-if-with-v-for] The 'tasks' variable inside 'v-for' directive should be replaced with a computed property that returns filtered array instead. You should not mix 'v-for' with 'v-if'.
こちらのエラーはv-bindでidを作ろうとしている部分でエラーが出ます。
[vue/valid-v-bind] 'v-bind' directives require an attribute value.
該当のソースコード
<li v-for="task in tasks" v-bind:key="task.id" v-if="!task.is_done" v-bind:id="'row_task_' + task.id" class="collection-item">//この行でエラー <input type="checkbox" v-on:change="doneTask(task.id)" v-bind:id="'task_' + task.id" /> <label v-bind:for="'task_' + task.id">{{ task.name }}</label> </li>
試したこと
もともと参考にしたサイトに書いてあったのは
<li v-for="task in tasks" " v-if="!task.is_done" v-bind:id="'row_task_' + task.id" class="collection-item"> <input type="checkbox" v-on:change="doneTask(task.id)" v-bind:id="'task_' + task.id" /> <label v-bind:for="'task_' + task.id">{{ task.name }}</label> </li>
だったので、v-forがあるのにv-bind:keyがない、と思ったので付け足しました。
そこのエラーは改善されましたが残りの2箇所は改善されませんでした。
Vue.jsを始めたばかりなので自分で解決することができませんでした、、、
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/21 10:42