【问题标题】:How to access and use Imported Function in ES6如何在 ES6 中访问和使用导入函数
【发布时间】:2018-08-23 15:04:16
【问题描述】:

我无法访问导入的 labelsForCountryCode 函数。将“US”传递给此函数时,我希望返回 US 对象。我是 ES6 的新手,不完全确定我在这里做错了什么。感谢任何帮助!

帐单地址标签-lookup.js

export default function billingAddressLabelsLookup() {

const labelsLookup = {
  'US': {
    addressLineOne: 'Street/Address',
    city: 'City',
    provinceCode: 'State',
    postalCode: 'Zip Code'
  },
  'CA': {
    addressLineOne: 'Street/Address',
    city: 'City',
    provinceCode: 'Province',
    postalCode: 'Postal Code'
  }
};

return {
  labelsForCountryCode(countryCode) {
    return labelsLookup[countryCode];
  }
};

};

test.js

 import billingAddressLabelsLookup from '../utils/billing-address-labels-lookup.js';

 var labels = billingAddressLabelsLookup.labelsForCountryCode('US');

【问题讨论】:

  • billingAddressLabelsLookup 是一个函数,而您试图通过传递它的引用而不是调用它来访问它的结果。只需在 test.js 中替换为这个var labels = billingAddressLabelsLookup().labelsForCountryCode('US');。请查收:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

标签: javascript import ecmascript-6 export es6-modules


【解决方案1】:

只需替换:

var labels = billingAddressLabelsLookup.labelsForCountryCode('US');

与:

var labels = billingAddressLabelsLookup().labelsForCountryCode('US');
                                       ^^------ function call

否则,您正在尝试访问函数引用的属性,而您需要访问函数的结果

关于导入导出,具体请看这一章:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export#Using_the_default_export

【讨论】:

    猜你喜欢
    • 2020-05-11
    • 2017-02-23
    • 2015-10-14
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2018-05-01
    相关资源
    最近更新 更多