Подтвердить что ты не робот

Свойству или функции "url" должна быть указана ошибка в Backbone.js

Я пытаюсь сделать небольшое приложение, чтобы узнать, как работает Backbone. Я взял пример приложения из источника, называемого Todo. Я создал свое приложение с нуля, используя фрагменты из приложения Todo. Я думаю, что эти приложения выглядят очень похожими, но по какой-то причине я не могу заставить работать некоторые вещи, которые отлично работают в примере приложения. Я получаю сообщение об ошибке:

A 'url' property or function must be specified

Другая проблема заключается в том, что я не могу сделать этот код из примера работы:

this.model.bind('change', this.render);

В нем говорится, что нет такой функции, как bind. Я проверил все версии библиотек и код и не могу понять, что я делаю неправильно. Что я могу сделать по этому поводу?

4b9b3361

Ответ 1

Пример TODO опирается на localStorage, поэтому он не определяет URL-адрес (как локальный). Однако, когда вы используете стандартную реализацию Backbone.sync, вам необходимо определить атрибут url в своих коллекциях и моделях (это может быть как статичное, так и функциональное). Это не приводит к ошибке, которую вы получили.

Что касается this.model.bind, я думаю, вы каким-то образом потеряли ссылку на свою модель. Две вещи: это не то, что вы думаете, или this.model не определен. Опубликуйте больше кода, чтобы иметь полные ответы.

Ответ 2

Сбор пытается загрузить кучу моделей из json-вывода по URL-адресу:

window.MyList = Backbone.Collection.extend({
  model: MyModel,
  url: 'someurl.json', // load a bunch of json objects into models.
});

Если этот URL указывает на вывод json ваших моделей, вы можете пойти.

Вы также можете переопределить способ восстановления обратного звонка на ваш сервер для поддержки устаревших серверов или локального адаптера хранения: http://documentcloud.github.com/backbone/#Sync

Ответ 3

Назначение свойства коллекции url работал у меня

todoList.url = "/GetData/GetTodo";