假设我创建了一个自定义元素,如下所示:
<chat-container messages="{{ messages }}"></chat-container>
messages
是一个包含与任何特定线程或联系人相关的聊天消息的数组。
现在,在我的app.js
中,我有这种消息数组,其中包含线程标识符的所有消息。如何将与任何特定线程标识符(即name ='Rajat')相关的消息传递给<chat-container>
元素?我已经尝试了几乎所有的组合,但仍然没有任何意义。
app.messages = [
{name: 'Rajat', messages: [{id: 1,message: 'Hello'},{id: 3,message: 'Hello 2'}]},
{name: 'Himesh', messages: [{id: 2,message: 'Hello'}]},
{name: 'David', messages: [{id: 4,message: 'Hello'}]}
]
我试着这样做:
<chat-container messages="{{ app.messages.filter(function(e) { return e.name === 'Rajat'; })[0].messages }}"></chat-container>
它不起作用。
答案 0 :(得分:1)
聚合物不支持这种复杂的结合表达。将过滤器代码移动到一个函数并从绑定表达式调用该函数。绑定表达式仅支持.``!
,()
<chat-container messages="{{filter('name', 'Rajat')}}"></chat-container>
其中父元素具有名为filter()