Javascript libphonenumber js:“未捕获类型错误:用于解析的文本必须是字符串”

Javascript libphonenumber js:“未捕获类型错误:用于解析的文本必须是字符串”,javascript,vue.js,libphonenumber,Javascript,Vue.js,Libphonenumber,我想在Vuejs中使用libphonenumber js包,但我有一个不明白的问题 我导入包: import { parsePhoneNumberFromString } from 'libphonenumber-js'; Vue.use(parsePhoneNumberFromString); 在我的组件中,我尝试用以下公式格式化用户的电话号码: phoneNumberFormatting: function() { const rawPhoneNumber = parsePhoneN

我想在Vuejs中使用libphonenumber js包,但我有一个不明白的问题

我导入包:

import { parsePhoneNumberFromString } from 'libphonenumber-js';

Vue.use(parsePhoneNumberFromString);
在我的组件中,我尝试用以下公式格式化用户的电话号码:

phoneNumberFormatting: function() {
  const rawPhoneNumber = parsePhoneNumberFromString(this.phoneNumber);
  return rawPhoneNumber;
}
电话号码如下:

目前,我只想显示格式化的数字:

              <div class="input-group">
              <input v-model="phoneNumber" id="phoneNumber" placeholder="+33 (0) 123456789" class="form-control">
                <div class="input-group-append">
                  <span class="input-group-text">{{phoneNumberFormatting}}</span>
                </div>
              </div>
因此,这里:

    // If the phone number is passed as a string.
    // `parsePhoneNumber('88005553535', ...)`.
    if (typeof arg_1 === 'string') {
        text = arg_1;
    } else throw new TypeError('A text for parsing must be a string.');
我不明白,因为即使我替换

const rawPhoneNumber = parsePhoneNumberFromString(this.phoneNumber);
return rawPhoneNumber;

就像在文档中一样,我仍然有错误

有什么想法吗?

问题是:


将{phoneNumberFormatting}}更改为{{phoneNumberFormatting}

在此处深入挖掘插件文件:

导出函数parsePhoneNumberFromString { var参数=Array.prototype.slice.callarguments 参数.pushmetadata
console.logparameters//这是一个计算的函数,所以我不必用phonenumberformat替换phonenumberformat,你传递的是一个函数,或者你不想传递函数,而是传递它返回的字符串。如果我理解文档,就是这样,我只想返回这个函数的值。在任何情况下,我都尝试过,尽管我不知道它如何解决我的问题,错误仍然存在谢谢你的回答,但我正在学习Vuejs,我对javascript不是很好…如果我删除Vue.useparsePhoneNumberFromString,我会得到以下错误:ReferenceError:parsePhoneNumberFromString未定义。我应该如何在没有Vue的情况下在组件中导入它。使用?移动t在导出默认值{…}rawPhoneNumber未定义之前,他将{parsePhoneNumberFromString}从main.js的“libphonenumber js”导入组件,但至少我没有之前的错误,谢谢:@escanxr尝试添加一个条件,以防此情况。phoneNumber为空:返回rawPhoneNumber?rawPhoneNumber.number:
    // If the phone number is passed as a string.
    // `parsePhoneNumber('88005553535', ...)`.
    if (typeof arg_1 === 'string') {
        text = arg_1;
    } else throw new TypeError('A text for parsing must be a string.');
const rawPhoneNumber = parsePhoneNumberFromString(this.phoneNumber);
return rawPhoneNumber;
const rawPhoneNumber = parsePhoneNumberFromString('+12133734253')
return rawPhoneNumber.number;