Ang*_*alu 5 jquery vuejs2 vue-directives
我想实现https://github.com/jackocnr/intl-tel-input用vuejs2。
如果我在一个 jQuery 里面添加document.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)
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<input class="form-control" @keydown="validatePhoneNumber" :class="{validInput: validPhone }" type="text" name="phone" value="" id="phone" :phone_number="phone_number">
Run Code Online (Sandbox Code Playgroud)
我相信解决方案是为此问题创建一个新指令,我尝试了以下操作:
删除,我实例化的部分intlTelInput上document.ready,并做出这个:
Vue.directive('telinput', {
bind: function(el) {
$(el).intlTelInput({
//options here...
}
});
Run Code Online (Sandbox Code Playgroud)
并添加v-telinput到我HTML上面的代码中。
有了这个,似乎没有任何效果。
我在那里缺少什么?
小智 0
尝试使用@keyup而不是@keydown
| 归档时间: |
|
| 查看次数: |
3115 次 |
| 最近记录: |