未通过引用传递给服务的 Angular 组件变量

Angular component variable not passed to service by reference

提问人:Saurabh Tiwari 提问时间:12/20/2017 最后编辑:FlownSaurabh Tiwari 更新时间:12/20/2017 访问量:552

问:

鉴于 JavaScript 中的对象和数组是通过引用传递的(或者说它们的引用是通过值传递的),如果我将 Angular 组件变量传递给服务并在服务中进行更改,则更改应该反映回 Angular 组件中。

法典:

元件:

public onRowClicked(invoice) {
    this.rowService.onRowClicked(invoice, this.selectedrows);
  }

服务:

    public onRowClicked(invoice, selectedRows) {
     //make changes to selectedRows array
}

的值保持不变(虽然我预计它会改变)this.selectedRows

我是不是做错了什么?

Angular TypeScript 按引用传递

评论

1赞 Develobba 12/20/2017
如果您甚至不更改 selectedRows,应该如何更改它?也许显示更多代码
0赞 Saurabh Tiwari 12/20/2017
我没有在我的问题中为此添加代码,但正如我在方法中的评论所说,我正在更改数组
0赞 Jan Somers JanS91 12/20/2017
你能记录两个实例吗
0赞 Saurabh Tiwari 12/20/2017
是的,我完全理解这一点,我只是根据几个条件拼接几个索引,可能我必须做一个.这会改变引用吗?selectedRows = []
0赞 Develobba 12/20/2017
哦,我知道,您正在尝试在服务中更改它,并希望该组件具有更改。最好在服务方法中返回更改的 selectedRows 并执行类似 this.selectedRows = this.rowService.onRowClicked(...) 的操作

答: 暂无答案