0
Vue JSを使用して2つの深さの配列があり、先頭の配列の各項目に対して0から始まるインデックスが必要です。ここでVue JSを使用してネストされた配列のインクリメンタルカウンタを設定する方法
は私のHTMLです:
<div v-for="member in cast"> <!--array #1-->
<input name="cast_list[@{{ memberCounter }}][actor]" value="@{{ member.actor }}">
<input name="cast_list[@{{ memberCounter }}][role]" value="@{{ member.role }}">
<div v-for="group in ensemble_groups"> <!--array #2-->
<input type="checkbox"
name="cast_list[@{{ memberCounter }}][groups][]"
value="@{{ group }}"
v-model="member.groups"
id="[email protected]{{ memberCounter }}[email protected]{{ $index }}">
<label for="[email protected]{{ memberCounter }}[email protected]{{ $index }}">@{{ group }}</label>
</div>
</div>
と私のVueのJS:
data: {
ensemble_groups: [{{ ensemble_groups }}"{{ group_name }}",{{ /ensemble_groups }}],
cast: [
{{ cast_list }}
{
actor: '{{ actor }}',
role: '{{ role }}',
groups: [{{ groups }}"{{ value }}",{{ /groups }}],
counter: 0 // trying to set default value
},
{{ /cast_list }}
],
},
computed: {
memberCounter: function() {
return this.counter++;
},
},
あなたは私が私のカウンタとして計算されたプロパティを定義しようとしているが、それはどのように動作しないです見ることができますそれが必要。 @{{ $index }}
は、私の2番目の配列以外では、最初の配列のインクリメンタルな値を高速に保持するのではなく、0,1,2,3
として繰り返されます。
ああ、これは美しいです。ありがとうございました!私がVueJSのドキュメントでこれを見つけるかもしれないどんな考えですか? – danfo
@danfoこれはv-forのドキュメント、第3の例のセクションのhttps://vuejs.org/guide/list.html#v-forにあります –