我是 Web UI、Dojo、Java 等的新手。如果您指的是任何高级主题,请提供一些阅读参考。我会帮你的。
语境:
我有使用JsonStore的Gridx设计,它采用目标 + id 作为 URL。使用固定的“id”网格可以很好地加载。
我有动态树。延迟加载等工作正常。
客观的:
基于 Tree 中给定节点的单击(或 dblclick)事件,我必须使用数据加载 Gridx。因此,如果单击树节点 "id":7,则应获取 JsonStore: /target/7 并将其加载到 Gridx 中。
问题:
你可以猜到,一开始没有有效的“id”属性来填写 JsonStore。在树的单击事件处理程序中,我将在用户单击时获取此值。因此,不能在“就绪”状态下调用 gridx.startup()。尽管我已将小部件“放置”在“就绪”状态。
因此,我有以下片段要处理,<
// this function is called from tree event handler
function LatestTabGridxLoad( id ) {
console.log( "ID %s fetched.", id );
LatestTabGridxStore.idProperty = id;
LatestTabGridx.startup();
LatestTabGridx.body.refresh();
}
ready(function()
{
TabLatestAssetTree.startup();
LatestTabGridx.placeAt( "ReportMiddleTabLatestCenterContainer" );
}
现在,麻烦的是,在第一次加载时,JsonStore GET 单独使用 /target/ 触发,没有任何“id”,没有任何用户点击。因此,服务器以 405 响应。随后,当用户单击时,没有“id”的相同 HTTP GET 再次导致 HTTP 405。我无法以某种方式将“id”提供给 GET URL。我检查了 JSON,它的形状很完美,因为它在独立表中工作,这是声明性(ly)定义的。
请建议我通过其“id”将树节点链接到 Gridx 的方法。还建议,如果我采取的方法是解决这个问题的正确方法。