- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Angular的“单向数据流规则”被提及several times in the docs但是 Angular 文档在任何地方都没有清楚地(强调清楚地)定义单向数据流规则。
以下是我能找到的与单向数据流规则的明确定义最接近的内容:
来自 this page :
Angular's unidirectional data flow rule forbids updates to the view after it has been composed.
很公平,但是 View 已经组合到底意味着什么?什么构成对 View 的更新?我们不是一直在更新 View 吗?
来自 this page :
One important assertion [enableProdMode] disables verifies that a change detection pass does not result in additional changes to any bindings (also known as unidirectional data flow).
这句话我不得不非常缓慢地读了大约 8 遍,但我还是没明白。当它说“也称为单向数据流”时,我假设也称为单向数据流的是“更改检测通过不会导致对任何绑定(bind)的额外更改”。好吧,也许我们越来越近了。虽然很抽象。举个例子怎么样?
这两个相当不透明的简介都是 Angular 文档显然让我们摆脱了关于单向数据流规则的问题。似乎不够。
谁能更清楚地向我解释一下,最好是好像我很愚蠢?
编辑:我在 this page 上发现了可能是第三条线索的内容:
A template expression should not change any application state other than the value of the target property.
This rule is essential to Angular's "unidirectional data flow" policy. You should never worry that reading a component value might change some other displayed value. The view should be stable throughout a single rendering pass.
好的。您永远不必担心读取组件值可能会改变其他一些显示值。 那是 Angular 的单向数据流规则吗?我不这么认为,因为它似乎与该规则的其他提及不一致。我还是很困惑。
最佳答案
在 Angular v1.5 之前的版本中,双向绑定(bind)是常态,所以如果你在组件中创建了一个子对象,父对象会维护对它的引用,所以如果你更新父对象中的对象,它也会更新子对象,如果您更新了子对象中的对象,它也会更新父对象。这会产生大量开销,并且您会看到大量子组件维护与父组件的两种方式绑定(bind)的显着性能影响,例如,父容器组件加载乘客数据列表并为每个组件显示一个子组件passenger 具有该乘客的特定属性。 parent 会受到关注,每个 child 都会受到关注,他们会不断地被重新评估。
Angular1.5 中引入了一种数据绑定(bind)方式,但它是 Angular2 性能提升的重要组成部分。数据从父级流向子级,而不是相反。如果父数据发生变化,这些变化会被推送给子数据,但如果子数据发生变化,这些变化不会自动神奇地传播回父数据。您可以通过显式向父级发送一个包含已更改数据的事件,并指示父级更新已更改的特定数据来管理从子级到父级的更新。一种方式是数据流接管,父级使用更新的数据根据需要更新子级。
关于angular - Angular 的 "unidirectional data flow rule"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42634822/
我花了过去三个小时试图解决这个问题,最后放弃了(我会解决这个问题)。但是......只是为了确定......是否没有办法在 EF6 Fluent API 中设置单向 0:1/1:1? 考虑: CREA
当我从我的实体类自动生成我的表时,我对 JPA 如何处理 1:1 单向关系感到困惑,而如果我自己创建 SQL 表,我将如何制作这些表。 我的问题是关于外键是如何设置的。 假设我有一个 Customer
我有几个关于 JPA 最佳实践(通过 hibernate )的小问题。 我的第一个问题是关于一个领域模型的复杂性。我有一个模型帐户,它代表一个...帐户;)一个帐户与其他对象有很多关系。其中很多需要被
以下数据库架构: 员工[EMP_ID (PK)、姓名、工资] 电话[ID (PK)、number_str、OWNER_ID (FK)] Employee_aud[EMP_ID (PK)、REV (PK
我正在开发一个带有垂直过渡(并且没有箭头)的 Bootstrap 3 轮播。它有效,但我正在寻找特定的过渡。 .carousel.vertical { position: relative; }
我正在尝试用 C++ 实现 Opus 转码器,但我有一些概念性问题。至于useinbandfec这个参数,不太明白“unidirectional receive-only parameter”的意思,
Angular的“单向数据流规则”被提及several times in the docs但是 Angular 文档在任何地方都没有清楚地(强调清楚地)定义单向数据流规则。 以下是我能找到的与单向数据
我正在尝试从我从服务器获得的许多项目中实现无限滚动,但我找不到任何适当的方法来保持通量架构设计规则。 想法是:在第一次加载时,我从服务器获取完整的项目列表(只有 id),然后使用 ajax 每次获取
我有一个数据库,其中包含一个 ProbateCases 表和一个 Properties 表。 ProbateCases 表有一个名为 ProbateCaseId 的 ProbateCases 表的外键
我目前在使用 OneToMany/ManyToOne 映射时遇到问题。映射看起来像这样: public class A implements Serializable { @EmbeddedI
我有一个Subscription 类和Payment 类。当我执行以下操作时,它不会在连接表中创建记录。我应该使用中间类还是可以在没有它的情况下创建这样的记录? subscriptionReposit
我正在使用 Spring 3 + Hibernate 做一个项目。当我尝试获取包含对象 PoaUpa 的对象时。我得到 java.sql.SQLException: ORA-00918 这个单向连接:
我的目标是: 创建通用关联,其中第一个实体(例如类别) 可以多次用于其他对象(例如帖子、文章) 示例 Post 有类别,Article 也有类别,但 Article 和 Post 是完全不同的实体。
我是一名优秀的程序员,十分优秀!