Хранение данных модели Backbone / RequireJS - PullRequest
3 голосов
/ 03 февраля 2012

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

Когда пользователь посещает страницу, первое, что происходит, это какой-то JSON, который заполняет пару моделей. Я хотел бы, чтобы эти модели были доступны везде, где бы я ни находился в приложении, поскольку они содержат данные и поддержку программы. Допустимо ли использовать window.modelName или вы рекомендуете другой / лучший способ сделать это?

1 Ответ

1 голос
/ 03 февраля 2012

Использование предложенного вами решения в первую очередь противоречит цели использования AMD.Определите модуль (назовем его глобальными) следующим образом:

define(function (require) {
  var globals = function () {
    return {};
  };
  return globals();
});

Теперь при инициализации Вы можете добавить значения к нему:

globals = require('globals');
globals.mymodel = new MyModel();
mymodel.fetch();

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

globals = require('globals');
console.log(globals.mymodel.get('myattr');
...