Я пытаюсь создать todo-приложение (оригинал, правда?) И проблема с тем, что ember не отображается мои вновь созданные объекты, если вы используете find ({some parameters}) вместо find().Различные результаты из App.Model.find() и App.Model.find ({params})
Проблема заключается в том, что App.Model.find() возвращает другой результат, чем, например, App.Model.find ({checked: false}).
Я создал TasksRoute и определил данные модели как App.Task.find(). При использовании App.Task.find() я могу создать новую задачу, набрав:
var task = App.Task.createRecord({name: "taskName"});
task.get("store").commit();
Список обновляется и вид отображает вновь созданную задачу.
Но если я вместо этого использую App.Model.find ({}) или с любым другим хешем, а затем создаю задачу, ничего не происходит.
Вот HTML:
<script type="text/x-handlebars" data-template-name="application">
{{#linkTo "tasks"}}Tasks{{/linkTo}}
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="tasks">
{{#each controller}}
{{name}}<br />
{{/each}}
</script>
Javascript:
App = Em.Application.create();
App.Store = DS.Store.extend({
revision: 12,
adapter: DS.RESTAdapter.create({url: "http://localhost/backend/"})
});
App.Task = DS.Model.extend({
name: DS.attr('string')
})
App.TasksRoute = Ember.Route.extend({
model: function() {
return App.Task.find();
}
});
App.Router.map(function(){
this.route('tasks');
});
App.TasksController = Em.ArrayController.extend({});
Причина, по которой я не хочу использовать находку() является то, что я хочу, чтобы иметь возможность указать свой запрос. Например, я хотел бы получить все задачи, проверенные, предоставив хэш для поиска().
(я попытался создать jsFiddle, но не смог заставить его работать с светильниками)
Является ли это ошибка или я сделал что-то не так?
Заранее спасибо
Было бы неплохо, если бы не тот факт, что я могу использовать только filterProperty, когда данные уже загружены. В моем случае может быть сотни задач в целом, а для уменьшения времени загрузки я хочу ограничить эту сумму. – rasmushaglund