У меня есть следующий код подчеркивания, который извлекает данные из внешнего JSON и отображает его в списке.фильтрация с помощью поддерева
<script type="text/template" class="template">
<ul>
<% _.each(rc , function(productTile) {
if(_.findWhere(ids,productTile.id){
%>
<li class="productTile" data-id="<%= productTile.id %>">
<img src="<%= productTile.images[0] %>" alt=""/>
<h3>Demo<%= productTile["name"] %></h3>
<p><%= productTile.price.formatted %></p>
</li>
<% } }); %>
</script>
var listingTemplate = _.template(
$("script.template").html()
);
Во внешнем файле JSON существует около 30 продуктов, но я хотел бы только показать информацию для 6 конкретных продуктов, которые я объявляю в этом внутреннем формате JSON:
var templateData = {
"ultimate": [
{
"id": "50236775",
"id": "50237067",
"id": "50236776",
"id": "50236777",
"id": "50236778"
}
]
}
я использую if(_.findWhere(ids,productTile.id){
, но он не работает, что-то не так с тем, что написано?
Привет, спасибо, что фильтр не работает по какой-либо причине :( – user1937021
не нашел бы лучше? – user1937021
Убедитесь, что 'ids' и' productTile.id' являются либо 'string', либо' number'. Попробуйте '_.contains (ids, productTile.id +" ")', если 'ids' - это массив строк. –