2014-10-15 3 views
0

Я только начинаю с некоторого ember.js и довольно неопытен. Наверное, это очень простой вопрос, но я не могу заставить его работать. Я в контроллере для моей диаграммы пытается установить диапазон с помощьюотправьте строку с контроллера для просмотра

range: function() { 
    var dataArr = this.get("rawData"); 
    if (!dataArr) return; 
    var range = ""; 
    var xmax = -1 * Infinity; 
    var xmin = Infinity; 
    var ymax = -1 * Infinity; 
    var ymin = Infinity; 

    code to figure out xmin, max etc...... 

    lowerBound = new Date(xmin) 
    upperBound = new Date(xmax) 
    range = d3.time.format.utc("%a, %b%e %-I:%M %p")(lowerBound) + " - " + d3.time.format.utc("%a, %b%e %-I:%M %p")(upperBound); 
    return range 
    }.observes('display', 'rawData'), 

то я стараюсь использовать это с рулями {{диапазон}}, и это не работает ... Я не знаю, если я обеспечиваю достаточно информации, но если кто-то может помочь, его очень ценят, спасибо!

+1

Диапазон должен быть вычисленным, проверить наблюдателя [docs] (http://emberjs.com/guides/object-model/observers/) –

ответ

1

Вы должны определить свой range собственность как собственность, таким образом:

range: function() { 
    var dataArr = this.get("rawData"); 
    // blah blah, your implementation 
    return range; 
    }.property('rawData'), 

Указав rawData как зависимость, Эмбер автоматически пересчитывать range если таковые rawData изменения.

Смежные вопросы