【发布时间】:2018-04-01 06:44:14
【问题描述】:
嘿,我是 Vue 的初学者,我只在使用 foreach 循环时遇到过这个问题
问题:每当我选择任何复选框时都会被选中。
create.blade.php
@foreach ($permissions as $permission)
<li class="list-group-item bold">
<input type="checkbox" id="{{$permission->id}}"
:custom-value="{{$permission->id}}" v-model="permissionsSelected">
<label for="{{$permission->id}}">{{$permission->display_name}}
<em>{{$permission->description}}</em></label>
</li>
@endforeach
</ul>
<input type="hidden" name="permissions" :value="permissionsSelected">
<script>
var app = new Vue({
el: '#app',
data: {
permissionsSelected: ''
}
});
</script>
【问题讨论】:
-
所有复选框都有相同的型号
v-model="permissionsSelected"这就是为什么它们都一起改变 -
是的,文档中也是这样写的:vuejs.org/v2/guide/forms.html
-
permissionsSelected应该是一个数组,如文档中所述。 -
在你的情况下它是一个字符串,所以把它改成
permissionsSelected: [] -
另外,您在
<input >上缺少value=""属性
标签: javascript php laravel vue.js