我有以下下划线代码,它从外部JSON
中提取数据并将其显示在列表中。
<script type="text/template" >
var ids = [4021401143741,4021402266418];
</script>
<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
声明:
我正在使用if(_.findWhere(ids,productTile.id){
,但它不起作用,写入的方式有问题吗?
答案 0 :(得分:1)
findWhere 的第二个参数应该是对象而不是基本类型。由于您有一系列数字,您需要使用包含功能:
var ids = [4021401143741,4021402266418];
var id = 4021401143741;
if (_.contains(ids, id)){
alert('yes')
}
else {
alert('no');
}