我有一个“大”更改JavaScript对象值的JavaScript对象,它看起来有点像这样:与自动生成的HTML表单
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();});
诚然,它看起来并不很漂亮,但它会得到工作完成得相当快/很容易。我猜测现在还没有一些公共框架可以做到这样的事情?
取决于UI的外观,对不对?和选项。 'active:true'可能是一个复选框,但其他一些属性如'active:{yes:1,no:0,notsure:-1}'可能对收音机有意义 – hunter