-1
바인딩 나는 다음과 같은 숨겨진 입력이 있습니다에서Vue.js - V 모델은 숨겨진 입력
<input id="myHiddenInput"
name="myHiddenInput"
type="hidden"
v-model="comment.myHiddenInput"
v-on:change="comment.myHiddenInput=$event.target.value">
var app = new Vue({
el: '#app',
data: {
comment: {'myHiddenInput': ''}
}
})
을 내 내가 숨겨진 값을 설정하고 다음과 같이 변경 이벤트를 트리거 자바 스크립트 fucntion :
var myFunction = function() {
$('#myHiddenInput').val(JSON.stringify(hiddentStuff)).trigger('change');
};
그러나 위의 방법은 작동하지 않습니다. 즉 양방향 바인딩이 작동하지 않습니다.
하지만이 작업을 수행 할 경우 작동 :
var myFunction = function() {
$('#myHiddenInput').val(JSON.stringify(hiddentStuff)).trigger('change');
document.getElementById('myHiddenInput').dispatchEvent(new Event('change'));
};
왜 그 자체로 충분하지 .trigger('change')
이다, 왜 내가 dispatchEvent(new Event('change'))
aswell를 호출해야합니까?
jQuery는 자체 이벤트 시스템을 사용하므로 Vue는 DOM 이벤트와 함께 작동합니다. 그리고 마지막 질문에서 언급했듯이'app'를 사용하여 값을 직접 설정하는 것이 더 좋을 것입니다. https://codepen.io/Kradek/pen/pdxWzg?editors=1010 – Bert