Angular 4 with TypeScript:通过引用传递参数

cla*_*ioz 5 pass-by-reference pass-by-value typescript angular

我刚刚开始使用 TypeScript 语言使用 Angular 4 开发一个 Web 应用程序。\n我的问题是:如果我用类中数据字段的值初始化一个字符串变量,看起来该值是为了复制而传递的,而不是以供参考。

\n\n

有没有办法传递参数供参考?

\n\n

例子:

\n\n
export class MyObject {\n   string1: string;\n   string2: string;\n}\n\nexport class MyClass {\n   myString: string;\n   object: MyObject;\n   array[]: MyObject[];\n\n   constructor() {\n      this.array = [{\n       string1: this.myString;\n       string2: this.myString;\n      }];\n   }\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我尝试更改字段的值this.myString,然后在 HTML 模板中使用字符串插值

\n\n
{{myString}}\n\n{{array[0].string1}} {{array[0].string2}}\n
Run Code Online (Sandbox Code Playgroud)\n\n

唯一改变的值是,而其他两个值 \xe2\x80\x8b\xe2\x80\x8bre 与的第一个值myString相同。myString这是因为参数的传递似乎是为了值而不是通过引用完成的。

\n\n

抱歉,如果问题很琐碎,但我现在正在学习 TypeScript

\n

小智 0

您应该像这样更改数组中的值

<input [(ngModel)]="array[0].string1">
Run Code Online (Sandbox Code Playgroud)

在 ur 数组中 myString 的新实例;