Vue.js + jQuery inputmask不起作用

时间:2018-07-31 21:32:17

标签: jquery vue.js jquery-inputmask

我正在尝试将inputmask插件用作Vue.js指令,但出现以下错误:

$(...).inputmask is not a function

传递此错误后,我需要将输入值更新为模型(data.amount)。

这是代码(JsFiddle:https://jsfiddle.net/rL09zg5c/3/

//HTML
<div id="app" class="container">
  <h1>
    Vue {{ vueVersion }}
  </h1>
  <form>
    <h3>
Currency:
    </h3>
    <input type="text" v-model="amount" v-input-mask/>
        <h4>
        Entered: {{ amount }}
        </h4>
  </form>
</div>

//JS
onload = function() {
  Vue.directive('input-mask', {
    bind: function(el, obj, vModel) {
            $(el).inputmask({
        prefix: 'R$ ',
        alias: 'numeric',
        allowMinus: false,
        groupSeparator: '.',
        radixPoint: ',',
        autoGroup: true,
        digits: 2,
        digitsOptional: false,
        placeholder: '0',
        rightAlign: false,
      });
    }
  })

  var vm = new Vue({
    el: '#app',
    data: {
      vueVersion: Vue.version,
      amount: ""
    }
  });
}

谢谢。

1 个答案:

答案 0 :(得分:0)

下面的代码对您有帮助。 GitHub

用法:

Vue.use(Inputmask)

<input v-inputmask="'9999'">

<input v-inputmask="mask">