Проблема с привязкой данных Vue v-model

У меня есть пара стандартных переключателей Bootstrap, и я хотел, чтобы v-model устанавливал значение в объекте данных vue при его выборе.

Это прекрасно работает в JSfiddle, однако это не работает при локальном запуске в моей собственной среде. .

Я могу заставить другие директивы работать нормально, например 'v-if', но v-model, похоже, вообще не работает.

В консоли ничего не появляется, а при использовании расширения vue dev tools; Я вижу, что объект «test» никогда не обновляется, когда выбран один из переключателей.

Я использую последнюю версию bootstrap, jquery и версию для разработки vue.

<div class="container margin-top-rem" id="app">       
        <div class="row">
            <div class="col-12">
                <div class="card text-center" v-if="testIf">
                    <div class="tab-content" id="nav-tabContent">
                        <div class="tab-pane fade show active card-body-padding">
                            <div class="row">
                                <div class="col-12">
                                    <div class="form-group">
                                        <div class="btn-group btn-group-toggle" data-toggle="buttons">
                                            <label class="btn btn-secondary">
                                                <input type="radio" name="options" autocomplete="off" v-model="testVModel" :value="false" />false
                                            </label>
                                            <label class="btn btn-secondary">
                                                <input type="radio" name="options" autocomplete="off" v-model="testVModel" :value="true" />true
                                            </label>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div>test value is {{testVModel}}</div>
            </div>
        </div>
    </div>
 var app = new Vue({
   el: '#app',
   data: {
     testIf: 'blah',
     testVModel: ''
   }
 })

person SharkBark    schedule 23.05.2018    source источник


Ответы (1)


Похоже, это конфликт между бутстрапом и Vue.

Два варианта решения:

1) Используйте Bootstrap-vue

2) Удалите 'data-toggle = "buttons"' из:

<div class="btn-group-toggle" data-toggle="buttons">
person SharkBark    schedule 25.05.2018