Angular 角度教程:英雄之旅第2课:从selectedHero绑定到英雄的数据

Angular 角度教程:英雄之旅第2课:从selectedHero绑定到英雄的数据,angular,angular2-databinding,Angular,Angular2 Databinding,在上的第2课中 我可以在HeroComponent模板中看到,[(ngModel)]是双向绑定selectedHero.name的,因为输入值发生了变化。为什么它同时绑定和更改上面英雄列表中的{{hero.name}单向插值?如果列表上是{{selectedHero.name}}插值,应该有意义,对吧 有人能给我解释一下我遗漏了什么基本逻辑吗 提前谢谢 如果我理解你的问题: onSelect(英雄:英雄):无效{ this.selectedHero=英雄; } 根据此指令,hero:hero是指

在上的第2课中

我可以在HeroComponent模板中看到,[(ngModel)]是双向绑定selectedHero.name的,因为输入值发生了变化。为什么它同时绑定和更改上面英雄列表中的{{hero.name}单向插值?如果列表上是{{selectedHero.name}}插值,应该有意义,对吧

有人能给我解释一下我遗漏了什么基本逻辑吗


提前谢谢

如果我理解你的问题:
onSelect(英雄:英雄):无效{
this.selectedHero=英雄;
}

根据此指令,
hero:hero
是指向hero类型元素的指针


this.selectedHero=hero
selectedHero
提供了相同的指针,因此它们是指向同一对象的两个指针。这就是为什么在价值的变化上,他们两者都在变化。

如果我理解你的问题:
onSelect(英雄:英雄):无效{
this.selectedHero=英雄;
}

根据此指令,
hero:hero
是指向hero类型元素的指针


this.selectedHero=hero
selectedHero
提供了相同的指针,因此它们是指向同一对象的两个指针。这就是为什么在价值观的变化上,他们两者都在变化。

太棒了!我的想法是,(单击)事件只是传递hero参数并将其分配给另一个相同类型的实体selectedHero(实际上是另一个指针)。但是,如果我想在更改输入及其标题时保持列表不变,那么代码中会有什么不同呢。谢谢如果他们是两个不同的实体,你是对的。请记住,如果您想对该对象进行另一次引用,而不是对其指针进行引用,您应该这样做:
onSelect(hero:hero):void{this.selectedHero=new hero();object.assign(this.selectedHero,hero);}
不客气,请您投票表决我的答案;)现在清楚多了。由于我是新来的(15岁以下),我的投票结果会被记录下来,但不会公开改变。一旦我达到这个门槛,我会回来投票。太棒了!我的想法是,(单击)事件只是传递hero参数并将其分配给另一个相同类型的实体selectedHero(实际上是另一个指针)。但是,如果我想在更改输入及其标题时保持列表不变,那么代码中会有什么不同呢。谢谢如果他们是两个不同的实体,你是对的。请记住,如果您想对该对象进行另一次引用,而不是对其指针进行引用,您应该这样做:
onSelect(hero:hero):void{this.selectedHero=new hero();object.assign(this.selectedHero,hero);}
不客气,请您投票表决我的答案;)现在清楚多了。由于我是新来的(15岁以下),我的投票结果会被记录下来,但不会公开改变。一旦我达到这个门槛,我会回来投票。