Angular2:在视图中传递函数作为参数来准备对象

时间:2017-06-14 23:19:31

标签: angular

我不知道我在标题中说得对,但这是我想要做的。如果可能,请建议替代方案或我该如何做。

<button (click)="setObject({date_rec: new Date(), topicString: getTopic(topicId)}" class="btn btn-default">mybuttun</button>

<button (click)="setObject({date_rec: newDatePipe, topicString: array | getTopicStringPipe}" class="btn btn-default">mybuttun</button>

我知道我可以在组件逻辑中实现这一点但我的对象属性名称是动态的。我想在视野中设置它。

1 个答案:

答案 0 :(得分:0)

我将您的问题视为:getTopic(topicID)正在执行/调用,而不是返回对getTopic(topicID) as typeof function的引用。

要解决此问题,您需要return对函数的引用。您可以通过几种方式执行此操作...

选项1

传递第二个对象作为包含你传递函数的参数的参数。

<button (click)="setObject({date_rec: new Date(), topicString: getTopic, {params: [topicId]}}" class="btn btn-default">mybuttun</button>

选项2

通过匿名函数执行返回函数。

<button (click)="setObject({date_rec: new Date(), topicString: ()=>{return ()=>{getTopic(topicId);}}}" class="btn btn-default">mybuttun</button>