【问题标题】:Are event binding, property binding, and two-way data binding concerned with the DOM or template?事件绑定、属性绑定和双向数据绑定是否与 DOM 或模板有关?
【发布时间】:2019-12-17 14:46:56
【问题描述】:

在 Angular 文档中,图像显示了在属性绑定中从组件到模板的数据流,以及在事件绑定中从模板到组件的数据流。但是,不应该是 DOM,而不是模板吗?

【问题讨论】:

    标签: html angular data-binding components


    【解决方案1】:

    不完全是。 Angular 使用你定义的组件和你的模板来构建一个 HTML 视图以插入到 DOM 中。当您的任何组件 @Input 属性发生更改时,Angular 就会知道这些输入在 DOM 视图中的位置以便更改它们。事件回调也是如此。您在模板中定义的所有组件回调函数(可以是自定义 @output 发射器或原生 HTML 元素事件发射器,如 onclick)都是由 Angular 创建并附加到实际的 HTML 元素。它们通过模板而不是 DOM,因为它需要能够同时处理 @Output 发射器和本机事件发射器。

    本节也将描述它https://angular.io/guide/architecture-components#data-binding

    【讨论】:

    • 我还是不明白为什么图片显示的流程是从模板到组件,而不是从DOM到组件
    • 稍微更新一下答案。本质上,Angular 必须处理组件与 DOM 关系的输入和输出(自定义发射器、DOM 事件),以实现一致的更改检测功能。您不能让 DOM 与组件对话,因为它不知道自定义组件是什么或数据绑定是什么。
    • 好吧,我的理解是,由于DOM与组件没有直接接触,所以一切都要通过模板来完成;因此,可以肯定地说数据在事件绑定中从模板流向组件,或者在双向数据绑定中数据在模板和组件之间是同步的,对吧?
    • 是的。在高层次上,我认为可以肯定地说这就是发生的事情。
    猜你喜欢
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    相关资源
    最近更新 更多