我希望从 Backbone 中检索特定的数据(我使用的是 localStorage 适配器,而不是服务器)。我可以通过查看检查器来查看项目的 ID。
我想要一种方法来单击任何视图中的任何项目,无论它位于哪个集合中,或者它是否是自己的模型,或者其他什么,并将其传递给详细信息模板。
因此,<span onclick="router.navigate('details/:id', {trigger: true});">Single Page</span>
将附加在整个应用程序的某些位置。所有项目都将使用自己的 ID 创建 URL。
是否可以使用来自该单个模型的数据不可知地渲染模板?
我的路由器:
assetDetail: function () {
var assetId = router.current().params[0];
var assetModel = new app.Models.Show({
id: assetId
});
var assetDetailView = new app.Views.assetDetail({
model: assetModel
});
},
但是,当我放入console.log( this.model );
详细信息页面的render
函数时,数据格式正确,但一切都为空(模型默认值)。
感谢您的任何帮助。
更新:
只要我知道确切的集合,我就可以做到以下几点。我目前正在将我的应用程序重写为这样。但是,很高兴知道您是否可以在不知道集合的情况下执行此操作(仅具有 ID)
var assetId = router.current().params[0];
var collection = new app.Collections.Collection({});
collection.fetch();
var themodel = collection.get(assetId);
var assetDetailView = new app.Views.assetDetail({
model: themodel
});