如何在Angular对象数组内部执行函数

时间:2018-07-23 06:04:58

标签: javascript angular angular5

如下所述:

curl -i -X PUT "http://XX.XX.XX.XX:XX/webhdfs/api/v1/test1?op=CREATE"
curl -i -X PUT -T ../test.tar.gz "http://XX.XX.XX.XX:XX/a/XX.XX.XX.XX/XX/webhdfs/v1/test1?op=CREATE&namenoderpcaddress=XX.XX.XX.XX:XX&overwrite=false"

我借助输入装饰器将此数组传递给子组件,如下所示, app.component.html:

users = [
    {
        name: 'Test User',
        onSelected: function (par1, par2) {
            // some operation with par1, par2
            alert('Test User');
        }
    },
    {
        name: 'Test User 2',
        onSelected: function (par1, par2, par3) {
            // some operation with par1, par2, par3
            alert('Test User 2');
        }
    },
    {
        name: 'Test User 3',
        onSelected: () => {
            this.router.navigate(['/some/path', 12])
                    .then();
        }
    }
];

现在可以使用<render-users [users]='users' (selectedUser)="selectedUserManager($event)"></render-users> Output发出选定的用户,如下所示,

render-users.component.html:

Event Emitter

render.component.ts:

<div 
 *ngFor="let user of users" 
 (click)="setSelectedUser(user)">
</div>

我的问题是如何在所选对象内执行函数?在这里,我可以在app.compoent.ts文件中调用setSelectedUser(user: User): void { this.selectedUser.emit(user); } ,如下所示,

app.component.ts:

$event.onSelected()

但是在使用不同功能参数的情况下,如何在app.component.ts内不切换大小写的情况下进行管理

在NgFor Loop中,只要我选择任何特定用户,都应执行 onSelected键附带的功能。

在这里,我不能使用切换用例机制,而必须执行所选用户的功能。

用一个更具体的词来说,有什么办法可以使我在同一数组对象中获得回调?

Stackblitz Demo

如果我遗漏了任何其他详细信息,请让我知道并提前致谢。

1 个答案:

答案 0 :(得分:0)

分叉了您的stackbliz

https://stackblitz.com/edit/angular-memv6o?file=src%2Findex.html

传递了三个参数,函数定义中不需要所有这些参数