TL;DR:如何解析Knockout.js的绑定(bind)参数格式(不是JSON,而是类似)?
--
我有一个我自己无法回答的问题。
我喜欢 Knockout.js 和其他 MVVM 库接受(理解)格式配置的方式
data-bind="name: value, name2: {subname: subvalue, subname2: subvalue2}, name3: value3"
,
这是 JSON 式的,但不是有效的 JSON(即可以在没有顶级 {}
或带括号的情况下很好地解决)。
问题是如何以最佳方式解析此格式,例如最好使用一些内置(垫片)函数并且不使用 eval。例如 JSON.parse 之类的东西。
我首先查看了 Knockout.js 代码来找到答案,但找不到解析绑定(bind)参数的位置。也许我忽略了显而易见的事情,我不知道。
建议、链接、代码或任何值得赞赏的建议。预先感谢您!
最佳答案
Knockout.js 的绑定(bind)源代码可以在这里找到:
https://github.com/knockout/knockout/blob/master/src/binding/expressionRewriting.js
与所有解析一样,细节决定成败,这就是它如此复杂的原因!
关于javascript - 解析 JSON-ish 数据属性(如 Knockout.js)的最佳方法,绑定(bind)参数格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21189842/