如何使用模板和BEM方法组织架构javascript-generator表单?
美好的一天!
问题的实质如下: 有必要组织基于json文件的生成器表单和控件的描述,如: “Order”:[“input1”,“input2”,“cb3”], “Input1”:{ “类型”:“输入”, “标题”:“第一个INPUT” “路径”:“root.input”, “可见”:是的, “可编辑”:是的 } “输入2”:{...}
可用于处理控件的类型应易于扩展。必须从数据源中提取控件中的数据(它们在行,属性路径中的路径中可用,在控件中描述)。数据源必须放在一个单独的模块中,并应提供公共方法以便从中检索数据。
使用DOM应该通过jQuery库或(最好)i-bem进行。有必要在BEM的意识形态中描述页面的控件和组件。
作为使用语法小胡子的模板语法。
使用jquery +胡子。故意讨论是否使用该组织来要求js mvc应用程序结构。 您能否告诉我们如何使用模板胡子更好地组织应用程序架构? (因为在他们没有遇到之前,才开始学习) 如何在不使用BEM技术堆栈的情况下应用BEM方法?
PS。抱歉我的英文。
答案 0 :(得分:2)
i-bem.js块的实现应该在其中生成控件,如下所示:
??
所以你会得到HTML
modules.define('form', ['i-bem__dom', 'mu', 'tmpl'], function(provide, BEMDOM, mu, tmpl) {
provide(BEMDOM.decl(this.name, {
onSetMod: {
js: {
inited: function() {
this.generate(this.params);
}
}
},
generate: function(opts) {
var html = opts.Order.map(function(control) {
return mu.render(tmpl, buildopts[control]); // assuming you have client-size mustache renderer in mu module and compiled templates in tmpl
}).join('');
BEMDOM.append(this.domElem, html);
}
}));
});
。当<form class="form i-bem" data-bem="{'form':{ HERE GOES JSON DESCRIPTION OF COMPONENTS YOU SUGGESTED }}"></form>
被引入时,它将遍历form
数组并附加模板渲染内部的结果。