假设我有3个角分量,第一个分量使用第二个和第三个分量作为指令。它们应该共享同一个模型对象,该模型对象在第一个组件中初始化。如何将该模型传递给第二个和第三个组件?我提到了这个帖子How to pass object from one component to another in Angular 2?,但它使用的是输入..。我想知道在各个子组件之间共享模型对象的所有可能的备选方案,请告诉我可以遵循的选项。
发布于 2016-02-02 23:52:01
在子节点(而不是共享服务)上使用输入属性的一个优点是,角度变化检测将自动将更改传播到子节点。如果您使用的是不可变对象,并且希望更改整个模型(将其转换为新的实例/引用),这尤其有用。
使用服务,您可以更改模型,但不能更改模型引用。
对于输入属性,您可以这样做:更改模型和/或更改模型引用。
有关使用不可变数据建模的更多信息,请参见以下Savkin博客文章:http://victorsavkin.com/post/133936129316/angular-immutability-and-encapsulation
https://stackoverflow.com/questions/35146108
复制相似问题