我们经常处理网站上的事情列表。这些最初从服务器加载了页面的其余部分。但是,收到的任何更新我们都希望使用Ember更新这些列表。
到目前为止,我在Ember视图中看到的所有示例都涉及控制页面上的内容,该页面一直是由Ember完全创建的。有哪些选项可以处理已经存在于Ember视图页面上的DOM元素?
答案 0 :(得分:3)
这里有一些关于这个想法的讨论:https://github.com/emberjs/ember.js/issues/563
答案 1 :(得分:2)
在目前的情况下,我想到了两种方法:
只要所有列表项都可用作数据对象(例如通过ember-data),就用Ember.CollectionView替换静态渲染列表
使用普通的旧jQuery在列表的开头/结尾附加最新的更新
我想这取决于您的列表项和更新逻辑的复杂程度。如果更新需要重新排序项目并且您的列表需要复杂的交互,那么使用ember的第一种方法可能更适合,尽管在替换列表时可能会出现“闪烁”的内容。第二种方法更简单但也有限。我只会使用jQuery来添加/添加内容。尽管如此,如果列表很简单,在这种情况下甚至使用ember也会有点过分。