如何在我的 Vue 组件中加载 OpenSeadragon 组件
How can I load an OpenSeadragon component in my Vue Component
我必须在我的 Vue 组件中使用一个名为“OpenSeadragon
”的外部 javascript 库。
但是我怎样才能在我的 Vue 组件中加载这个组件呢?
在我的父模板中,我加载了库:
<script src="{{ asset('js/openseadragon.min.js') }}"></script>
这是我的 Vue 测试组件:
<template>
<div>
<div id="openseadragon" style="width: 100%; height: 600px; border: 1px solid red"></div>
</div>
</template>
<script>
export default {
data(){
return {
}
},
created() {
// How can I load openseadragon??
OpenSeadragon({
id: "openseadragon",
prefixUrl: "/openseadragon/images/",
tileSources: "/example-images/duomo/duomo.dzi"
});
},
methods: {
//
}
}
</script>
然后我得到这个错误:
[Vue warn]: Error in created hook: "TypeError: Cannot read property 'appendChild' of null"
根据 Vue Lifecycle,您应该将函数调用放在 mounted
。
因为元素 #openseadragon
在调用 mounted
之前不存在。
我必须在我的 Vue 组件中使用一个名为“OpenSeadragon
”的外部 javascript 库。
但是我怎样才能在我的 Vue 组件中加载这个组件呢? 在我的父模板中,我加载了库:
<script src="{{ asset('js/openseadragon.min.js') }}"></script>
这是我的 Vue 测试组件:
<template>
<div>
<div id="openseadragon" style="width: 100%; height: 600px; border: 1px solid red"></div>
</div>
</template>
<script>
export default {
data(){
return {
}
},
created() {
// How can I load openseadragon??
OpenSeadragon({
id: "openseadragon",
prefixUrl: "/openseadragon/images/",
tileSources: "/example-images/duomo/duomo.dzi"
});
},
methods: {
//
}
}
</script>
然后我得到这个错误:
[Vue warn]: Error in created hook: "TypeError: Cannot read property 'appendChild' of null"
根据 Vue Lifecycle,您应该将函数调用放在 mounted
。
因为元素 #openseadragon
在调用 mounted
之前不存在。