据我了解,Input
组件中的字段应该是单向的(父级到子级)。但是,我有一个值要传递给Input
然后在组件中修改它,但我注意到它在父级中也发生了变化。这对我来说是有道理的,因为对象是通过引用传递的,但我猜这意味着 Angular 设置的整个“单向绑定”只是一种范例,而不是严格的? Angular 在幕后没有做任何事情来强制执行单向绑定?
基本上,我正在做:
<session-form [values]="session"></session-form>
In the session-form
组件,我改变session.start
从 unixtimestamp 到 Moment 对象。但我随后注意到父母,session.start
也是一个 Moment 对象。
是否有使用这样的数据的范例?一旦设置,我是否应该将输入值复制到严格限制在组件范围内的变量中?
研究智能/哑(容器/演示)组件架构。
基本上,其想法是智能组件包含应用程序的状态或与包含该状态的服务进行通信。哑组件仅渲染从 @Input 提供给它的数据。智能组件将状态传递给哑组件。
您不是直接更新哑组件中的数据,而是使用事件发射器告诉智能组件更新数据。这样你就有了单向数据流。
更多信息请点击这里:http://blog.angular-university.io/angular-2-smart-components-vs-presentation-components-whats-the-difference-when-to-use-each-and-why/ http://blog.angular-university.io/angular-2-smart-components-vs-presentation-components-whats-the-difference-when-to-use-each-and-why/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)