我在Angular 2中制作了一个小应用程序,我正在显示一个包含一些数据的表格,当我点击我的桌子时,我想得到那些数据
以下是代码:
HTML模板:
<tr *ngFor="let users of usersdata; let i = index">
<td (click)="data(users.username)">{{users.username}}</td>
<td (click)="data(users.email)">{{users.email}}</td>
<td (click)="data(users.id)">{{users.id}}</td>
<td (click)="data(users.roleId)">{{users.roleId}}</td>
</tr>
这是我的组成部分:
data(data: string) {
this.selectedParam.emit(data);
console.log(data);
}
当我点击时,我收到此错误:
EXCEPTION: Error in .../userslist.component.html:22:16 caused by: self.parent._el_24 is not a function
答案 0 :(得分:8)
使用[(ngModel)]
将数据双向绑定到组件。如下所示
<td [(ngModel)]="users.username" (click)="data(users.username)">{{users.username}}</td>
也可以尝试
//$event will hold value and other reference.
data($event: any) {
}
您可以在[]和()表示法
上获得更多角度2侧的参考答案 1 :(得分:2)
您需要在组件中创建一个公共数组。
public usersdata:any;
<tr *ngFor="let users of usersdata; let i = index">
<td (click)="data(users.username)">{{users.username}}</td>
<td (click)="data(users.email)">{{users.email}}</td>
<td (click)="data(users.id)">{{users.id}}</td>
<td (click)="data(users.roleId)">{{users.roleId}}</td>
} 现在您可以访问html模板
data(data: string) {
this.selectedParam.emit(data);
console.log(data);
data(datavalue: string) {
this.selectedParam.emit(datavalue);
console.log(datavalue);
}
上面没有保持功能名称和参数名称相同,因为它可能会导致问题。更改参数的名称
import csv
filename = "no.csv"
fields = []
rows = []
with open(filename,'r') as csvfile:
csvreader = csv.reader(csvfile)
fields = csvreader.next()
for row in csvreader:
rows.append(row)
for i in rows[0:2]:
print i
import datetime
from datetime import timedelta
import time
d = datetime.datetime.strptime(rows[4][3],'\xa0%d/%m/%Y')
print d.day
for j in range(len(rows)):
d = datetime.datetime.strptime(rows[j][3],'\xa0%d/%m/%Y')
print d.day
}
答案 2 :(得分:0)
请参阅EventEmitter documentation,您的自定义组件应基本上与示例相似,实现Output()
指令和EventEmitter