我做了一个单页应用的解决方案,将用于厂房的大屏幕显示,显示一组机器的状态信息和性能指标。通过一个通过ajax 调用派生的设置文件,应用程序知道哪些机器应该显示哪些信息。因此,为每台机器提供一个模板,并为每台机器信息呈现一个嵌套模板(koExternaltemplateengine)。此外,第一个 ajax 调用包含所有机器的 ajax 调用的 url。这些调用的响应包含机器特定的值。这些调用会定期重复并刷新显示值。所有绑定都使用敲除和映射插件进行,以避免具有硬编码的视图模型客户端。
现在我的问题是:如果所有机器的所有 ajax 调用都为显示提供所需的数据,那么一切正常。但是:对于某些机器,有时(也在初始加载时),调用成功(200)但只包含空值(因为此时数据不可用)。现在我遇到了问题。在 ko.applybindings(machinedata, machinediv) 我得到“无法解析绑定”。对于绑定值字段,ko 终止绑定。所以显示没有完整呈现,也没有触发更新。
现在我将尝试使用 if/ifnot-bindings,但是如果在刷新后出现初始未绑定值会发生什么?(手动重新触发 applybindings,除了 ko.mapping.fromJS??)。
有人有类似的问题吗?有什么建议么?正如我所提到的,我想避免硬编码的视图模型,以方便将来扩展更多机器属性。