2015-05-13 4 views
0

После добавления элемента в Json я перечисляю эти элементы, вызывая их в модели. Но элемент занимает некоторое время для обработки (и добавляется в массив). Как обновить модель (или представление), чтобы мне не нужно было обновлять список обновлений и просматривать новый элемент?Как обновить модель после обновления ее содержимого?

Извиняюсь за новобранец моего вопроса, я довольно новичок в ember. Заранее благодарю за любую помощь.

model: function (transition) { 

    return Ember.$.getJSON(ENV.apiUrl + 'get_feeds').then(
     function(response) { 
      return response; 
     }) 
      }); 
} 
+0

Вам следует рассмотреть возможность использования данных emeber - он заботится о привязках к вам – iwayneo

+0

'function (response) {return response; } '- это функция тождества, другими словами, она ничего не делает и может быть удалена. –

ответ

1

Создать Ember.Object, чтобы представить эту модель в папку models (при условии, Ember-CLI). В функции then вашего $.getJSON, создайте экземпляр этого Ember.Object.

import Ember from 'ember'; 
import SomeModel from 'app_name/models/some-model'; 

export default Ember.Route.extend({ 
    model: function (transition) { 

     return Ember.$.getJSON(ENV.apiUrl + 'get_feeds').then(
      function(response) { 
       return SomeModel.create(response); 
      }); 
    } 
}); 

создать функцию принимает объекты JavaScript в качестве одинокого параметра и присваивает все его свойство объекта он строящийся. Преимущество использования Ember.Object по сравнению с POJO заключается в том, что Ember.Object расширяет смесь Observable и, таким образом, может быть достигнуто двухстороннее связывание. Значение, если в вашем связанном шаблоне есть {{model.someProp}}, а затем асинхронно обновлять someProp вашей модели с помощью вызова ajax (однако, вызванного), DOM будет автоматически обновляться из-за двусторонней привязки. Воспользуйтесь преимуществами Ember. Ember Данные не нужны для этого btw

+0

Спасибо! Это помогло. – Nico

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