【发布时间】:2020-11-27 07:53:11
【问题描述】:
我有一个 Alpine JS 模板,我想从数组中引用 x-data。我目前在我的 HTML 文件底部的 <script> 标记中声明了它,我想将它移动到外部文件中。如果我创建文件并将其与<script src='path/to/file.js'> 链接,我的组件将停止工作。
有效的例子:
<div x-data="{items}">
<template x-for="(item, index) in items" :key="index">
<a :href="item.link" x-text="item.text"></a>
</template>
</div>
<script>
const items = [
{ link: 'foo.com', text: 'foo' },
{ link: 'bar.com', text: 'bar' },
]
</script>
不起作用的示例,其中external.js 具有相同的变量分配
<div x-data="{items}">
<template x-for="(item, index) in items" :key="index">
<a :href="item.link" x-text="item.text"></a>
</template>
</div>
<script src="external.js"></script>
以及external.js文件的内容:
import 'alpinejs'
window.onload = () => {
console.log('loaded') // This logs in the console
var items = [
{ link: 'foo.com', text: 'foo' },
{ link: 'bar.com', text: 'bar' },
]
}
我不知道我做错了什么,求助:(
【问题讨论】:
-
你能告诉我们
external.js的内容吗?很抱歉问,但您确定它正在加载到页面中吗? -
我编辑了问题以显示外部文件的内容
标签: javascript alpine.js