1

假设我创建了一个自定义元素,如下所示:

<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>

它没有用。

4

1 回答 1

1

Polymer 不支持这种复杂的绑定表达式。将过滤器代码移动到一个函数并从绑定表达式中调用该函数。绑定表达式仅支持.``!,()

<chat-container messages="{{filter('name', 'Rajat')}}"></chat-container>

其中父元素有一个名为filter()

于 2015-12-30T08:53:26.763 回答