【发布时间】:2014-03-19 17:26:33
【问题描述】:
在我的主干模型中,我试图向服务器发出请求以从一些 JSON 填充集合:
{
"accountType":["Full","Trial"]
}
在我的 account.js 模型中,我有:
accountManager.module("Entities", function(Entities, accountManager,Backbone, Marionette, $, _){
Entities.account = Backbone.Model.extend({});
Entities.accountCollection = Backbone.Collection.extend({
model: Entities.account,
comparator: "account",
url:"webapp/jsonData"
});
var API = {
getaccountEntities: function(){
var accounts = new Entities.accountCollection();
accounts.fetch();
if(accounts.length === 0){
console.log("No profiles loaded");
}
return accounts;
}};
accountManager.reqres.setHandler("account:entities", function(){
return API.getaccountEntities();
});
});
Controller.js
accountManager.module("accountsApp.List", function(List, accountManager,Backbone, Marionette, $, _){
List.Controller = {
listaccounts: function(){
var accounts = accountManager.request("account:entities");
var accountsListView = new List.accounts({
collection: accounts});
accountManager.mainRegion.show(accountsListView);
}
};
});
app.js
var profileManager = new Marionette.Application();
profileManager.addRegions({
mainRegion: "#main-region",
});
profileManager.on("initialize:after", function(){
profileManager.profilesApp.List.Controller.listprofiles();
});
如何使用返回的数据填充集合,然后将其显示在视图中?
按照我拥有的一本书中的教程进行操作,但似乎无法使其工作。
控制台记录错误(所以我知道它没有获取数据)并且我也收到错误:
'Uncaught ReferenceError: account is not defined'
有什么建议吗?
【问题讨论】:
-
您的 API 返回什么?它是返回一个集合吗?从您上面的问题来看,您似乎正在尝试将模型提取到集合中。
-
您好,感谢您的回复。我已经更新了我的问题,我正在关注持久数据部分,当我返回静态数据时它可以工作,但是当我尝试从服务器填充集合时,我遇到了问题。
-
我已经从我的 app.js、account.js 和控制器中添加了代码。
标签: javascript jquery backbone.js marionette