【发布时间】:2013-05-23 01:43:14
【问题描述】:
我想使用 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;
}
);
谢谢。
【问题讨论】:
-
这就是模型的用途。保留您的数据。除非发生实际导航(而不是使用历史 API),否则不需要使用 localStorage 或 Cookie。
-
我的问题是:那如何访问模型呢?通过将模型对象保存在全局变量中?
-
什么意思?这是一个您可以访问的 JavaScript 变量。我建议您查看addyosmani.github.io/backbone-fundamentals 这是一本免费书籍,查看示例/设计。
-
已编辑,添加了一些代码。
标签: javascript backbone.js local-storage