gpt4 book ai didi

Ember.js - ArrayController 和 CollectionView 之间的区别

转载 作者:行者123 更新时间:2023-12-02 05:15:26 24 4
gpt4 key购买 nike

ArrayController 和 CollectionView 都具有使用模板渲染“内容”数组的相同功能,除了 Collection View 具有“追加..”方法可以追加到 DOM 中的任何位置。我对吗?还有其他区别吗?哪个会更有用?

最佳答案

ArrayController 只是 Ember.ArrayProxy 的扩展。它提供了一个将数组集作为其内容的接口(interface)。它处理向任何观察者发送数组突变通知。它不处理与 DOM 相关的任何事情,并且与事件或 View 层完全隔离。

CollectionView 是一个 View (这意味着它操作 DOM 并处理事件),它采用 ArrayController(或任何满足 Ember.Array 期望的东西)并将其内容反射(reflect)为 Ember.Views。它监听 ArrayController 发出的突变事件,并更新自身以匹配。它通过专门监听 arrayDidChange 消息来工作。如果没有来自其内容的这些消息,它就不会知道创建或销毁其 View 。

当您使用 {{#each YourApp.yourArrayController}} 帮助器时,您实际上是在实例化一个 Ember.CollectionView,它将 Controller 作为其内容。

关于Ember.js - ArrayController 和 CollectionView 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10447926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com