在哪里放置非模型数据库获取架构?

Where to place a non-model database fetch architecturally?

我正在使用 Backbone.js 开发一个富客户端应用程序,并且遇到了需要从三个数据库表中获取 3 个值并显示它们的情况。

然而,问题在于它们不是我模型的一部分,我不需要同步它们。它们仅用于展示目的。我是否应该创建一个子视图,将它们添加到 DOM 作为 render() 方法的一部分?我不希望只是将一些 jQuery 代码一起破解 - 但是 - 它似乎也不太适合我对 Backbone 模型和视图的想象。

像 Backbone 这样的 MVC 中的经验法则是数据结构应该始终存储在模型层 imo 中。在您的情况下,这可能意味着 使用那些 ui 状态相关属性(推荐) 扩展您当前的模型,或者创建一个新模型并将其作为选项传递给视图:

var myModel = new MyModel();
var newModel = new NewModel();

var myView = new View({
  model: myModel,
  newModel: newModel
});

稍后在视图中您可以访问 newModel 作为 this.options.newModel