如何在数组 derbyjs 上使用 indexof

How to use indexof on array derbyjs

我有一个数组传递到我的模板,我想看看我是否有存储在其中的值:

{{each _page.friends as #friend}}
    {{if _page.user.friends.indexOf(#friend.id)<0}}
        <button>Add</button>
    {{else}}
        Already Friends
    {{/if}}
{{/each}}

显然 indexOf 不是函数,但数组 (_page.user.friends) 似乎确实存在我可以使用它自己的 {{each}}....

有办法吗?或者更好的方法?

我没有看到对 Derby View documentation 中提到的 indexOf 的支持。但是,您始终可以使用视图函数来确定某人是否是朋友。

// in the view
{{each _page.friends as #friend}}
  {{if isFriend(_page.user.friends, #friend.id)}}
     <button>Add</button>
  {{else}}
    Already Friends
  {{/if}}
{{/each}}

// in controller
FriendListController.prototype.isFriend = function(friends, friendId) {
  return friends.indexOf(friendId) > 0;
};