Использование intl-tel-input и vuejs2 вместе
Я пытаюсь реализовать https://github.com/jackocnr/intl-tel-input с vuejs2
,
Если я добавлю в один JQuerydocument.ready
, $('#phone').intlTelInput({ options...})
Все работает как положено, но когда я пытаюсь получить значение поля ввода и некоторые boolean
действительное свойство, я всегда проверяю значение на шаг позади.
Мой метод проверки выглядит так:
validatePhoneNumber: function() {
var validPhoneNo = $("#phone").intlTelInput("isValidNumber");
var phoneNo = $("#phone").intlTelInput("getNumber");
console.log(phoneNo + ' -> ' + validPhoneNo); //this line returns values one step behind
bus.$emit('validate-phone', validPhoneNo)
}
HTML:
<input class="form-control" @keydown="validatePhoneNumber" :class="{validInput: validPhone }" type="text" name="phone" value="" id="phone" :phone_number="phone_number">
Я считаю, что решение было бы создать новую директиву по этому вопросу, и я попробовал следующее:
Удалена часть, где я создал экземпляр intlTelInput
на document.ready
и сделал это вместо этого:
Vue.directive('telinput', {
bind: function(el) {
$(el).intlTelInput({
//options here...
}
});
и добавил v-telinput
к моему HTML
код выше.
с этим, кажется, ничего не работает.
Что мне там не хватает?