2013-05-22 2 views
0

Я хотел бы сохранить информацию из представления в другое представление с помощью BackboneJS.Сохраняйте данные из вида в другое представление с помощью BackboneJS

Например, я нахожусь на странице #home, и я перехожу на страницу #message (используя функцию навигации или напрямую, изменив URL-адрес после #), но я хочу сохранить данные пользователя из модель страницы #home и отобразите их на странице #message.

Модель настроена пользователем (с формой), а не с сервера/базы данных.

Я не знаю, какое решение лучше всего сохранить эту информацию.

Некоторый код:

view1.js:

define([ 
    'backbone', 
    'underscore', 
    'app', 
    'text!../../templates/template1.html', 
    '../../models/model1', 
    ], 
    function (Backbone, _, app, myTemplate1, myModel1) { 

     'use strict'; 

     var myView1 = Backbone.View.extend({ 

      model: new myModel1(), 
      template: myTemplate1, 
      initialize: function() { 
       // 
      } 
     }); 
     return myView1; 

    } 
); 

view2.js:

define([ 
    'backbone', 
    'underscore', 
    'app', 
    'text!../../templates/template2.html', 
    '../../models/model2', 
    ], 
    function (Backbone, _, app, myTemplate2, myModel2) { 

     'use strict'; 

     var myView2 = Backbone.View.extend({ 

      model: new myModel2(), 
      template: myTemplate2, 
      initialize: function() { 
       //How to access data from the model1 here??? 
      } 
     }); 
     return myView2; 

    } 
); 

Спасибо.

+0

Это то, для чего предназначены модели. Ведение ваших данных. Если фактическая навигация не происходит (а не использование API истории), нет необходимости использовать localStorage или Cookie. –

+0

Моя проблема: как получить доступ к модели? Сохранение объекта модели в глобальной переменной? – alexmngn

+0

Что значит? Это переменная JavaScript, к которой у вас есть доступ. Я рекомендую вам ознакомиться с http://addyosmani.github.io/backbone-fundamentals/, это бесплатная книга, посмотрите примеры/дизайн там. –

ответ

0

Попросите свой маршрутизатор получить модель из view1 (добавьте метод view .getModel() `) и передайте его в view2 как конструктор.

0

Я бы порекомендовал вам использовать appRouter для передачи модели до view1, но для того, чтобы «хранить» модель локально внутри соответствующего устройства.

Затем, когда вы переходите к просмотру #message, вы также можете передать модель туда (или создать ее, если она еще не существует).

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