【发布时间】:2011-12-03 19:07:43
【问题描述】:
我有一个看起来有点像这样的“大”JavaScript 对象:
var userConfig = {
active: true,
subElement: { someProp: 156, otherProp: 'yaye' },
foo: ['bar', 'see', 'no']
// etc
}
我正在寻找的是某种框架,我将变量(或变量的一部分)传递给它并读取所有属性并创建一个可以配置这些属性的表单。因此,将为布尔值创建一个复选框,为字符串创建一个文本框等......
有人知道这样的图书馆吗?
更新:目前通过打开JS并手动编辑变量来更改设置(JS是本地存储的greasemonkey脚本)。几乎所有的东西都比这更胜一筹。
我没有兴趣编写(很多)代码来进行双向绑定,创建所有 UI 小部件并干净地分离关注点(MVVM,MVP,...),这就是 Knockout/Backbone/... 所做的(从教程来看)。
改为:
var userConfigUpdater = {
active: { description: "Activates or deactivates feature X", editType: "boolean"},
subElement: {
description: "subElement",
editType: "tabularItem",
someProp: {description: "foo", editType: "text"},
// more
}
}
createHtmlWidgets(userConfig, userConfigUpdater);
现在用户可以编辑表单元素,然后我们有类似的东西:
$("#okButton").click(function() {userConfig = getUpdatedValues();});
当然,它看起来不太好,但它会很快/很容易地完成工作。我猜还没有一些公共框架可以做这样的事情吗?
【问题讨论】:
-
取决于用户界面的外观,对吧?和选项。
active: true可能是一个复选框,但像active: { yes: 1, no: 0, notsure: -1 }这样的其他属性可能对收音机有意义
标签: javascript javascript-framework