gpt4 book ai didi

javascript - 通过输出绑定(bind) AngularJS 传递参数

转载 作者:行者123 更新时间:2023-11-28 14:50:23 24 4
gpt4 key购买 nike

我必须使用 Typescript 进行 AngularJs 1.5.8 的设置:

我有一个包含目录(项目的二维数组)的父组件。我从这里将目录中的每个列表传递给子组件:

...
export class ParentController {

private catalog = []; //contains a list of lists

...

private printCallback(item: any): void {
console.log(item);
}
}

和模板:

<div ng-repeat="list in $ctrl.catalog">
<child content="list" callback="$ctrl.printCallback(item)"></child>
</div>

现在,在子组件中,我再次迭代列表中的每个项目。每当我单击列表中的某个项目时,我希望家长知道我单击的项目:

export class ChildComponent implements IComponentOptions {
template: any = require('./child.component.html');
public bindings: any = {
content: '<',
callback: '&'
};
controller: any = ChildController;
}

export class ChildController {

public content: Array<any>;
public callback;

...

public onTrigger(item: any): void {
this.callback(item);
}
}

子模板:

<div ng-repeat"item in $ctrl.content">
<button ng-click="$ctrl.onTrigger(item)">{{item.name}}</button>
</div>

现在我似乎无法在父组件的 printCallBack() 中打印 item 。我不知道我到底做错了什么,因为唯一打印的是未定义。我环顾四周,找不到可行的解决方案。所以我希望你能帮助我。

最佳答案

回调时,执行如下操作:this.callback({item : item});,作为对象传递。

关于javascript - 通过输出绑定(bind) AngularJS 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44717131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com