无法绑定到“ ng-click”,因为它不是“ div”的已知属性

时间:2018-09-21 17:02:02

标签: angular typescript angularjs-ng-click

这是我的ts组件中的一个简单的jquery函数

open_user(user) {
  $(user).css("visibility", "visible");
  $(user).css("opacity", "1");
}

这是我用html称呼的方式

<div class="user" *ngFor="let user of arrUsers" ng-click="open_user({{user.id}})">
    <img src={{user.profile_img}} class=user-image>
    ...
</div>

我收到此错误

无法绑定到“ ng-click”,因为它不是“ div”的已知属性。 (“     

<div class="user" *ngFor="let user of arrUsers" [ERROR ->]ng-click="open_user({{user.id}})">

在任何地方都找不到解决方案。.

P.S。角度的新手

3 个答案:

答案 0 :(得分:4)

ng-click适用于angularjs,您的模板看起来像angular 2+,如果这样,请改用(click)="..."

<div class="user" *ngFor="let user of arrUsers" (click)="open_user(user.id)">

还要注意,在角度应用中使用jquery进行DOM操作通常不是一个好方法。

答案 1 :(得分:3)

使用 (click) 代替 ng-click 。此外,在传递参数时,您不应使用 interpolation

并且请勿访问组件内部的DOM,而应使用 NgStyle

<div class="user" *ngFor="let user of arrUsers" (click)="open_user(user.id)">

答案 2 :(得分:0)

从Angular 2开始不推荐使用ng-Click for AngularJS,您应该使用

<div class="user" *ngFor="let user of arrUsers" (click)="open_user(event, user)">
</div>

在您的班级组件中:

open_user(event, user) {
    // do something
}

我希望对其进行修复