我有一个函数,该函数将一些基本HTML加载到DOM中,然后调用map()函数来传播带有嵌套对象的数组中的属性列表。由于数组中有多个对象,因此让map()运行另一个函数以返回具有适当值的HTML标记。当它尝试运行时,我得到一个错误,即未定义“ getListing”。有小费吗?
我将JS分为单独的文件。但是,当我尝试将'getListing'函数放置在同一文件中时,它将声明未定义'buy'函数。
function buy(properties) {
$('.main').empty();
$('.main').append(
`<div class='buyPage'>
<header>
<h2>4 Properties for you</h2>
</header>
<div id='listingResults'>
</div>
</div>`
);
console.log(properties);
document.getElementById('listingResults').innerHTML = properties.map(
listing => getListing(listing)
);
console.log(document.getElementById('listingResults'));
}
function getListing(listing) {
return (
<div class='searchItem' id={listing.id}>
<img
src={'images/listings/' + listing.image}
alt={'image of: ' + listing.name}
class='searchImg'
/>
<p>
Property name: {listing.name}
<br />
Address: {listing.address}
<br />
City: {listing.city}
<br />
Canton: {listing.canton}
<br />
Price: {listing.price}
<br />
<a href={listing.link}>Link</a>
</p>
</div>
);
}