HostBinding到匿名lambda函数?

时间:2019-03-07 16:25:26

标签: angular typescript

我正在使用@HostBinding将函数的结果绑定到宿主元素的visible属性:

@HostBinding('attr.visible')
private get visibleAttr(): any {
  return this._visible ? '' : null;
}

该函数名称似乎是多余的,因为没有别的函数可以调用此函数。我试图将其声明为匿名lambda函数,但无法正常工作:

@HostBinding('attr.visible') (() => {
  return this._visible ? '' : null;
})

是否可以匿名或至少使用lambda声明此函数?还是Angular框架依赖于它的命名?

1 个答案:

答案 0 :(得分:2)

@HostBinding是修饰符,需要有效的成员来修饰。 如果您的第二个代码示例

<a href='#' id='link-1' target="_blank">Share Attempt 1</a><br/>
<a href='#' id='link-2' target="_blank">Share Attempt 2</a><br/>
<a href='#' id='link-3' target="_blank">Share Attempt 3</a><br/>
<a href='#' id='link-4' target="_blank">Share Attempt 4</a><br/>

本身是一个有效的成员,它可以工作,但对于成员声明,​​这不是有效的打字稿(或javascript)。因此,它不起作用。