Современные фреймворки, такие как Vue, плохо работают с прямым манипулированием DOM. Если есть выбор, может быть предпочтительнее использовать сторонние Vue компоненты вместо ванильных JavaScript виджетов.
Атрибут данных не будет хорошо работать, потому что он подходит для страницы stati c, где DOM элементы доступны при загрузке.
Этот виджет загрязняет встроенный прототип , что считается плохой практикой, и его следует избегать. Так как он также представляет API как модуль, это предпочтительный способ его использования.
Я ожидаю, что это будет что-то вроде:
import Switch from 'bootstrap-switch-button';
...
<input ref="btn" type="checkbox">
...
mounted() {
this.switch = new Switch(this.$refs.btn, { ... });
}
destroyed() {
this.switch.destroy();
}
Другие методы API могут быть вызваны на this.switch
при необходимости.
Может работать не так, как ожидалось, поскольку напрямую манипулирует DOM и может конфликтовать с Vue.