Javascript 具有复杂数据模型的自定义Wicket(Ajax)控件
我们正在尝试Wicket(v8)的一个项目,我想知道以下场景的最佳实践是什么:Javascript 具有复杂数据模型的自定义Wicket(Ajax)控件,javascript,d3.js,components,wicket,Javascript,D3.js,Components,Wicket,我们正在尝试Wicket(v8)的一个项目,我想知道以下场景的最佳实践是什么: 我们有一个数据库库函数,它返回一个列表 呼叫正在某个IModel 我们想要呈现一个由这个模型支持的d3可视化,我们称之为复杂化 该模型需要呈现为一些JavaScript变量(如JSON),这样我们的d3代码就可以将其用作输入 用户可以在其他控件中进行一些更改,以便数据库库调用将生成不同的列表 当ComplexVisualization作为Ajax目标添加时,JavaScript变量需要相应地更新其值,并且需要触发一
- 我们有一个数据库库函数,它返回一个
列表
- 呼叫正在某个
IModel
- 我们想要呈现一个由这个模型支持的d3可视化,我们称之为
复杂化
- 该模型需要呈现为一些JavaScript变量(如JSON),这样我们的d3代码就可以将其用作输入
- 用户可以在其他控件中进行一些更改,以便数据库库调用将生成不同的
列表
- 当ComplexVisualization作为Ajax目标添加时,JavaScript变量需要相应地更新其值,并且需要触发一些自定义JavaScript方法,以便我们可以刷新d3可视化
ComplexVisualization
,如何为这个组件呈现一些HTML(如果需要),特别是如何让一个JavaScript变量与IModel
同步
感谢您的帮助和建议
DanielcomplexSualization可能具有将其序列化为JSON的方法
toJson()
。此外,它可能有方法update()
,该方法返回如下字符串:“window.updateVisualization(“+toJson()+”)”
。这样,您应该使用target.appendJavaScript(complexSualization.update())
JavaScript方法
updateVisualization
应该由JavaScriptHeaderItem贡献定义,例如在my lib.js中。target.appendJavaScript
是缺少的一部分!太好了,谢谢你指出这一点!