Ответ заключается в использовании computed properties. Вычисляемые свойства позволяют делать расчет на основе состояния контроллера, а не с необработанным логическим свойством (по существу создавая геттер, поддерживаемый несколькими свойствами или свойством другого типа).
Чтобы эта функция правильно срабатывала привязки, вам необходимо объявить, какие свойства зависит от функции: какие свойства должны вызывать обновление, если они изменены. Вы делаете это, используя: `.property ('content.length') '. В этом случае функция зависит от одного свойства, но она может зависеть от нескольких.
В шаблоне:
<button {{action clearAll}} {{bindAttr disabled="anyEntries"}}>Clear All</button>
В контроллере:
anyEntries: function() {
return this.get('content.length') == 0;
}.property('content.length')
возможный дубликат [Binding разрешенное состояние кнопки в ember.js] (http://stackoverflow.com/questions/ 9867696/связывание с поддержкой-состояние кнопки-в-угольком-JS) – givanse