Angular 2事件绑定使用插值在模板内部不起作用

时间:2016-06-02 03:47:49

标签: angular

我有简单的点击事件绑定

({{eventStr}})

当然,如果将(click)更改为(${eventStr}) ,(eventStr),它会有效。我尝试了很多方式,例如(click)="do-log()"。我不明白,在eventStr内,此 点击 不是字符串或其他类型的? 我想使用click而不是@HostBinding,因为我想更改事件类型动态,例如。滑动。

更新 我知道有两种方式renderer.listen <child-cmp eventType="swipe">Swipe</child-cmp><child-cmp eventType="click">Click</child-cmp> ,但我有不同的用例,并找到这样的方式:在父组件模板中,如:

<div><button (eventType)="dosomething_accordingTo_diff_touch_events()"></button></div>

并在子组件模板中,如:

@Input eventType:string

当然是eventType。它不起作用。我想如果(eventType)==("swipe") or==("click")不是字符串而是事件对象,实际上(swipe)不等于(click)(eventType)==(swipe)。那么有一种方法可以让{{1}}进入模板吗?

1 个答案:

答案 0 :(得分:2)

你不能这样做。

绑定表达式必须是静态可分析的,因此您无法动态生成它们。锚点(discussion here)也是如此。