我想使用BackboneJS将视图中的信息保存到另一个视图。
例如,我在页面#home
中,我将转到页面#message
(使用功能导航,或直接在#后更改网址) ),但我希望保留页面#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 :(得分:0)
让路由器从view1获取模型(或许添加一个view
。getModel()`方法)并将其作为构造函数选项传递给view2。
答案 1 :(得分:0)
我建议您使用appRouter将模型传递给view1
,但要在approuter中本地“存储”模型。
然后,当您转到#message
视图时,您也可以将模型传递到那里(或者如果它还不存在则创建一个)。