arcgis3.27Error in mounted hook: "TypeError: Cannot read properties of undefined (reading 'loadModules')"
时间: 2023-12-10 16:35:35 浏览: 89
这个错误通常是因为在组件挂载时,尝试访问未定义的属性或方法。根据提供的引用内容,这个错误可能是由以下两个原因之一引起的:
1. 在异步处理中,数据还没有返回就开始使用该属性。可以使用`this.$nextTick()`将获取数据的代码包裹起来,以确保在数据返回后再使用该属性。
2. 后端返回的数据可能没有该属性,或者有些数据是`null`。可以使用`v-if`判断该属性是否存在,如下所示:
```html
<template>
<div v-if="arcgisLoaded">
<!-- 在这里使用 arcgis 对象 -->
</div>
</template>
<script>
export default {
data() {
return {
arcgisLoaded: false,
arcgis: null
};
},
mounted() {
this.loadArcgis();
},
methods: {
loadArcgis() {
// 加载 arcgis 模块
this.$arcgis.loadModules(["esri/Map", "esri/views/MapView"]).then(
([Map, MapView]) => {
// 加载成功后设置 arcgisLoaded 为 true,并将 arcgis 对象设置为组件的属性
this.arcgis = { Map, MapView };
this.arcgisLoaded = true;
},
(err) => {
console.error(err);
}
);
},
},
};
</script>
```
阅读全文