this指南中的以下代码使用联合类型来保存所有可能的窗口小部件类型,然后呈现视图:
type Widget
= ScatterPlot (List (Int, Int))
| LogData (List String)
| TimePlot (List (Time, Int))
view : Widget -> Element
view widget =
case widget of
ScatterPlot points ->
viewScatterPlot points
LogData logs ->
flow down (map viewLog logs)
TimePlot occurrences ->
viewTimePlot occurrences
我相当基本的问题是:
关于Widget
类型,这里的基础模型是什么?
给定一个动作(例如,用户想要查看散点图小部件),应该更新的底层结构是什么?
答案 0 :(得分:2)
Widget是您的原始数据。然后,您需要单独建模要显示的数据
Template.example.events({
'click #generatePdf': function(event) {
HTTP.call( 'GET', 'http://localhost:3000/generate/getPdf', {}, function( error, response ) {
if (error) {
console.warn(error);
}
});
}
});
然后假设您有一些传入的IO数据
type alias Model = Widget
然后将数据加载到正确类型的Widget中,您的查看功能将从原始问题知道如何处理数据