Knockout JS与Alternate DOM后端

J T*_*ana 21 javascript dom knockout.js

我想为Knockout JS实现一个不同的非HTML DOM后端,可能在非浏览器类型的环境中(可能是Node.js).具体来说,存在一个旧的,简单的静态UI框架,我想用DOM包装然后与Knockout一起使用.我知道Knockout本身至少能够在没有浏览器环境的情况下在Node.js中运行(例如参见这里),但我想知道我需要实现什么来创建一个完全不同的DOM.

  • 是否可以用我自己的实现覆盖一些DOM操作类?
  • 有没有DOM接口的概念?
  • 或者我是否可能需要通过备用ko.applyBindings等从头开始做一些事情?

我只想弄清楚我是否在工作范围方面疯狂或完全疯狂.

dop*_*ops 1

我认为您可以通过使用自定义绑定(http://knockoutjs.com/documentation/custom-bindings-for-virtual)创建自定义元素(http://knockoutjs.com/documentation/component-custom-elements.html )来做到这一点-elements.html)和扩展绑定语法(http://knockoutjs.com/documentation/binding-preprocessing.html)

然后,您可能必须为 UI 中的每个元素创建一个客户元素、绑定和语法,我建议您创建一个包含元素信息的 json 文件,并允许使用 json 创建自定义元素,并将 json 链接到小部件包含每个元素的逻辑。