我正在尝试用vuejs2实现https://github.com/jackocnr/intl-tel-input。
如果我在一个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">我认为解决方案是为这个问题创建一个新的指令,我尝试了以下方法:
删除了我在document.ready上实例化intlTelInput的部分,改为:
Vue.directive('telinput', {
bind: function(el) {
$(el).intlTelInput({
//options here...
}
});并在上面的HTML代码中添加了v-telinput。
在这种情况下,似乎什么都不起作用。
我错过了什么?
发布于 2018-07-07 11:56:51
尝试使用@keyup而不是@keydown
https://stackoverflow.com/questions/42792983
复制相似问题