0
我試圖綁定一個checkboxes數組,同時使用一個名爲switcher的jQuery插件(它也包含在Pixel Admin主題中)。 我的問題是它沒有初始化插件。vue js jquery switcher
HTML
<div v-for="partnerType in partnerTypes" class="panel-body">
{{ partnerType.name }}
<span class="pull-right">
<input name="types[]" type="checkbox"
value="{{partnerType.id}}"
v-checkbox
v-model="checkedPartnerTypes"
v-on:change="updatePartnershipPartnerType(partnerType)">
</span>
</div>
<script src="/javascripts/custom/directives/checkbox.js"></script>
<script src="/javascripts/custom/companies/show.js"></script>
checkbox.js
Vue.directive('checkbox', function(value) {
$(this.el).switcher({
theme: 'modern',
on_state_content: '',
off_state_content: ''
});
if(value)
$(this.el).addClass('checked');
else
$(this.el).removeClass('checked');
});
在show.js
文件,我基本上有一個checkedPartnerTypes: []
陣列,這是我更新最初和每個請求之後。
我不得不通過jQuery手動更新它的狀態(也將檢查的類添加到父元素)。然而,有什麼不同之處在於我沒有告訴指令複選框是否被選中,所以我最終只是通過'v-checkbox =「typeIsChecked(partnerType.id)來傳遞它的狀態作爲布爾值」現在它的工作非常完美!謝謝。 – gjmm
完全沒問題。 –