Вы можете сначала сохранить экземпляр Vue в глобальной переменной (window.vueApp = new Vue({...})
) и изменить значение, выполнив что-то вроде vueApp.dataValue = ...
Отредактировал вашу скрипку: https://jsfiddle.net/jacobgoh101/q2zv5gz1/6/
Сохраните экземпляр Vue в глобальной переменной
window.vueApp = new Vue({ ...
и внутри onclick:
<!-- totally unrelated to Vue! -->
<button onclick="vueApp.selectValue = vueApp.selectValue === 'alpha' ? 'beta' : 'alpha' " >
change select
</button>
<button onclick="vueApp.checkboxValue = !vueApp.checkboxValue" >
change checkbox
</button>
<button onclick="vueApp.textValue = Math.random()">
change input
</button>
ОБНОВЛЕНИЕ
Если вам нужен способ, при котором элементы не должны знать, как был реализован Vue, вы должны найти способ правильно запускать событие ввода на элементах ввода программно.
Чтобы вызвать событие, вы можете использовать
.dispatchEvent(new Event('eventname'));
Поигравшись с ним: https://jsfiddle.net/jacobgoh101/q2zv5gz1/7/
change
событие работает для избранных
document.getElementById('select').dispatchEvent(new Event('change'));
input
событие работает для текста
document.getElementById('text').dispatchEvent(new Event('input'));
ПРИМЕЧАНИЕ. Это, вероятно, не будет работать надежно в разных браузерах. Поскольку это пытается программно имитировать действие пользователя. Я думаю, что разные браузеры будут по-разному обрабатывать действия пользователя.
person
Jacob Goh
schedule
30.05.2018