Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何通过属性指令验证事件(单击)绑定?_Angular - Fatal编程技术网

Angular 如何通过属性指令验证事件(单击)绑定?

Angular 如何通过属性指令验证事件(单击)绑定?,angular,Angular,我目前正在编写一些共享代码,这些代码需要能够被无法使用鼠标导航的用户访问。有很多元素都将其单击事件绑定到了处理程序 <div ngFor="let user of users"> <div class="link" (click)="addOrEditUser(user.Id)">{{ user.Name }}</div> </div> 我必须这样做,因为我无法重构click事件的所有单独处理程序来支持keypressed 现在我的模板看

我目前正在编写一些共享代码,这些代码需要能够被无法使用鼠标导航的用户访问。有很多元素都将其单击事件绑定到了处理程序

<div ngFor="let user of users">
    <div class="link" (click)="addOrEditUser(user.Id)">{{ user.Name }}</div>
</div>
我必须这样做,因为我无法重构click事件的所有单独处理程序来支持keypressed

现在我的模板看起来有点像这样:

<div ngFor="let user of users">
    <div class="link" (click)="addOrEditUser(user.Id)" keyboardClick>{{ user.Name }}</div>
</div>

{{user.Name}
我的代码做了我需要的,但是如果元素没有点击绑定,我想抛出一个错误

TL;DR
这将引发一个错误:

<div ngFor="let user of users">
    <div class="link" keyboardClick>{{ user.Name }}</div>
</div>
<div ngFor="let user of users">
    <div class="link" (click)="addOrEditUser(user.Id)" keyboardClick>{{ user.Name }}</div>
</div>

{{user.Name}
这不应引发错误:

<div ngFor="let user of users">
    <div class="link" keyboardClick>{{ user.Name }}</div>
</div>
<div ngFor="let user of users">
    <div class="link" (click)="addOrEditUser(user.Id)" keyboardClick>{{ user.Name }}</div>
</div>

{{user.Name}

我认为您只需要捕获键盘单击事件

<div ngFor="let user of users">
    <div class="link" (keyboardClick)="addOrEditUser($event)">{{ user.Name }}</div>
</div>

{{user.Name}