Поэтому у меня есть требование о том, что должна быть панель, отображающая пользовательские невидимые виджеты. Так как это должно быть в каждом виде, я сделал в компонент, который принимает привязку к отсчету отменить отправку виджетов:Свойство контроллера контроллера Ember для запроса в другом контроллере
# components/unsubmitted-widgets.emblem
.well.text-center
a href="#" My Widgets (#{unsubmittedWidgetsCount})
button.small-button type="button" click="submitWidgets"
strong Submit Widgets
Я думал, что запрос для виджетов API будет идти в контроллер приложения, который все другие контроллеры могут связываться с
App.ApplicationController = Ember.Controller.extend
unsubmittedWidgets: (->
@store.find('unsubmittedWidget', user: @get('currentUser'))
).property()
App.HomeController = Ember.Controller.extend
needs: ["application"]
unsubmittedWidgetCount: (->
@get('controllers.application.unsubmittedWidgets').toArray().length
).property('controllers.application.unsubmittedWidgets')
Таким образом, это устраняет запрос, и я получаю результат. Однако представление не обновляется автоматически. В представлении отображаются My Widgets() на любом экране, на котором я включен, и когда я перехожу на другой маршрут, где присутствует представление, я получаю реальное значение, но когда я возвращаюсь к исходной странице, он все еще не отображает все.
Как я мог бы фактически связать значение на странице с длиной возвращаемого набора записей?
Я думаю, что вы должны использовать ['@ each'] (http://emberjs.com/guides/object-model/computed-properties-and-aggregate-data/) в своей собственности. – MilkyWayJoe
Вот и все. Отвечайте, и я поддержу и приму! – DVG