我目前正在使用dojox / app创建SPA,现在我开始添加商店和模型。我已经能够从json对象创建一个商店,从商店创建一个模型,并使用dojox mvc将字段绑定到模型。但是,我还有一些我还无法做到的事情:更新第二个模型,该第二个模型与第一个模型绑定到同一个商店。
我举一个例子。我有这个商店:
win.global.modelApp = {};
modelApp.names = {
identifier: "id",
items: [{
"id": 1,
"First": "John",
"Last": "Doe",
},{
"id": 2,
"First": "John2",
"Last": "Doe",
}]
}
然后我在config.json文件中使用此存储创建两个模型:
"stores": {
"namesStore":{
"type": "dojo/store/Memory",
"params": {
"data": "modelApp.names"
}
}
},
"models": {
"namesXUnused": {
"modelLoader": "dojox/app/utils/mvcModel",
"type": "dojox/mvc/EditStoreRefListController",
"params":{
"store": {"$ref":"#stores.namesStore"}
}
},
"namesXUnused2": {
"modelLoader": "dojox/app/utils/mvcModel",
"type": "dojox/mvc/EditStoreRefListController",
"params":{
"store": {"$ref":"#stores.namesStore"}
}
}
}
然后,在我的HTML文件中,我有一个绑定到namesXUnused
(属性First
)的字段,另一个绑定到namesXUnused2
(属性First
)的字段。当我编辑第一个字段时,我有一个按钮,将这些更改提交给商店。我可以通过调试器看到存储数据已正确更新。但是,我无法得到第二个字段来反映这些变化。有没有办法从商店刷新或重新创建模型?
谢谢,
答案 0 :(得分:0)
我认为您需要设置“observable”:true,在商店中使用Observable商店,因为您希望将商店的更新反映回模型。如果你有问题,dojox / app / tests(以及dojox / mvc / tests)中有一些例子,但只是添加: “可观察的”:对你的名字来说,商店应该这样做。 “商店”:{ “namesStore”:{ “type”:“dojo / store / Memory”, “可观察的”:是的, “params”:{ “data”:“modelApp.names” } } },
此致 编