我在网站的侧边栏区域显示Document
标题的列表。要做到这一点我创建了一个documents
财产上的App.SidebarController
Ember如何处理此控制器.property()
Document = require '../models/document'
SidebarController = Ember.Controller.extend
documents: (->
Document.find()
).property()
module.exports = SidebarController
这工作得很好,当我在我的应用程序创建一个新的Document
,这个侧边栏属性获取的自动更新,我不知道为什么。无论我放在.property()
函数中,它都能正常工作。例如
.property('Document')
.property('App.Document')
有人可以解释这是如何工作的? property()
函数可以观察什么是正确的事情?
这很有道理,谢谢你的答案!我同意为控制器设置路由设置数据,问题是我的侧栏不是路由,它只是通过在应用程序模板中的{{render'sidebar}}调用的 - 所以我只使用一个'controller' /'view'。我不知道如何触发从侧边栏直接到'/#/ documents'(设置文档的路径)时发生的所有事情。 – Lsdafjklsd 2013-03-17 19:26:04
@mavilein对于事情是如何/为什么是正确的,数据访问方法应该在路线中是正确的。由于您正在从应用程序模板调用'{{render}}',因此请使用ApplicationRoute.setupController()'hook来设置。 – 2013-03-18 15:28:04