我试图让一个“有很多”协会使用本地存储工作。我设置了两个模型:用户和产品。我的用户有很多产品。我想:sencha触摸协会
用户通过授权后通过AJAX从服务器加载我的用户。产品已存储在本地存储中(例如{“id”:“ext-record-1”,“user_id”:1,“name”:“product1”})。
// The id and name are loaded via ajax
var user = Ext.create('User', {id: 1, name: 'Ed'});
var userProducts = user.products();
userProducts.load();
问题是:如果我调用关联,则存储/代理中的所有实例都将加载。根据文档,应该只有“user_id”的实例:1
已设置过滤器。它只发生在我从本地存储中加载产品时,如果我在位置创建它们就没有问题。保存到本地存储会打破该关联。
我就定了一个例子没有localStorage的位置: http://www.senchafiddle.com/#J9VX6
并与localStorage的:http://www.senchafiddle.com/#J9VX6#hBDkq
见http://docs.sencha.com/touch/2-0/#!/api/Ext.data.association.HasMany
我真的很感谢你的帮助
将是很好或解释为什么添加它们 – pfried
该文档似乎表示您不需要使用源代码行“userProducts.load();”因为当你使用“var userProducts = user.products();”它会根据您指定的过滤器自动加载。 –
谢谢,但我认为这不是问题。问题是使用与webstorage的关联。有关更多详细信息,请参阅我答案中的链接。 – pfried