javascript - 为什么将函数导入另一个文件时函数的属性不可见?
问题描述
我在文件收集的 dataservice.js 中有这个功能:
export function DataServices() {
var that = this;
that.dataServiceUrl = "/CrossServices/SearchService.svc";
var ds = {
getStreets: getStreets
};
return ds;
function getStreets(expr, callback, error) {
//some logic
return result;
}
}
我在 mapApp.js 文件中导入上面的函数,如下所示:
import { DataServices from "/src/js/services/dataservices";
并尝试以这种方式访问 getStreets 属性:
DataServices.getStreets(3, null, null);
但是我在上面的行中得到了这个错误:
error: Cannot read property 'getStreets' of undefined
知道为什么 getStreets 属性不可见吗?
解决方案
您正在导出命名函数DataServices
您需要将其设为默认导出,或按名称导入:
export default function DataServices
或者
import { DataServices } from "/src/js/services/dataservices";
推荐阅读
- python - 上课有什么我不明白的吗?
- wordpress - WooCommerce:用 FontAwesome 图标替换面包屑中的 Home
- r - 是否可以在 Dplyr 的汇总中为每个组创建单独的线性模型
- influxdb - InfluxDB 无法从远程 collectd 收集数据
- typescript - 如何让 Typescript 等待函数执行
- vespa - 在 vespa 中使用 Wandsearcher 的任何示例?(经过加权集查询)
- c - 出现 GCC 错误:“sys/memfd.h:没有这样的文件或目录”
- javascript - 如何使用数组的元素作为 indexOf 方法的参数?
- r - R中是否有“仅当”语句?
- reactjs - React Leaflet.draw:如何在不使用 react-leaflet 工具栏的情况下使用标准按钮创建绘图功能,但是,将其写在“React”中