使用 AlpineJS returns 遍历数组没有结果
Looping through an array using AlpineJS returns no results
我正在尝试使用 AlpineJS 遍历一个数组,但我无法得到任何输出。
我希望更熟悉 AlpineJS 的人能够提供帮助。
提前致谢。
这是代码:
<script>
function alpineInstance() {
return {
books: []
}
}
</script>
<div
x-data="alpineInstance()"
x-init="fetch('https://www.googleapis.com/books/v1/volumes?q=Alpine')
.then(response => response.json())
.then(data => books = data)">
<template x-for="(book, index) in books" :key="index">
<div x-text="book.items.volumeInfo.title"></div>
</template>
</div>
看来您对 API return 中的数据类型有错误的认识。复制要传递给 fetch
函数的 URL 并将其粘贴到浏览器中。希望您很快就会发现此端点不是 return 数组,它 return 是一个对象!
function alpineInstance() {
return {
// we'll set our data to hold an object
bookResponse: {}
}
}
<html>
<head>
<script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
</head>
<body>
<div x-data="alpineInstance()" x-init="fetch('https://www.googleapis.com/books/v1/volumes?q=Alpine')
.then(response => response.json())
.then(data => bookResponse = data)">
<!-- instead of mapping over an object, which will throw an error, we'll map over bookResponse.items !-->
<template x-for="(item, index) in bookResponse.items" :key="index">
<div x-text="item.volumeInfo.title"></div>
</template>
</div>
</body>
</html>
我正在尝试使用 AlpineJS 遍历一个数组,但我无法得到任何输出。
我希望更熟悉 AlpineJS 的人能够提供帮助。
提前致谢。
这是代码:
<script>
function alpineInstance() {
return {
books: []
}
}
</script>
<div
x-data="alpineInstance()"
x-init="fetch('https://www.googleapis.com/books/v1/volumes?q=Alpine')
.then(response => response.json())
.then(data => books = data)">
<template x-for="(book, index) in books" :key="index">
<div x-text="book.items.volumeInfo.title"></div>
</template>
</div>
看来您对 API return 中的数据类型有错误的认识。复制要传递给 fetch
函数的 URL 并将其粘贴到浏览器中。希望您很快就会发现此端点不是 return 数组,它 return 是一个对象!
function alpineInstance() {
return {
// we'll set our data to hold an object
bookResponse: {}
}
}
<html>
<head>
<script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
</head>
<body>
<div x-data="alpineInstance()" x-init="fetch('https://www.googleapis.com/books/v1/volumes?q=Alpine')
.then(response => response.json())
.then(data => bookResponse = data)">
<!-- instead of mapping over an object, which will throw an error, we'll map over bookResponse.items !-->
<template x-for="(item, index) in bookResponse.items" :key="index">
<div x-text="item.volumeInfo.title"></div>
</template>
</div>
</body>
</html>