Knockout JS与Alternate DOM后端

时间:2015-07-01 00:49:01

标签: javascript dom knockout.js

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

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

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

2 个答案:

答案 0 :(得分:1)

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

来实现此目的

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

答案 1 :(得分:0)

我认为jsdom是你最好的起点。