如何使用模板和BEM方法组织javascript表单生成器的体系结构?

时间:2015-04-26 20:39:36

标签: javascript architecture mustache bem

如何使用模板和BEM方法组织架构javascript-generator表单?

美好的一天!

问题的实质如下: 有必要组织基于json文件的生成器表单和控件的描述,如: “Order”:[“input1”,“input2”,“cb3”], “Input1”:{ “类型”:“输入”, “标题”:“第一个INPUT” “路径”:“root.input”, “可见”:是的, “可编辑”:是的 } “输入2”:{...}

可用于处理控件的类型应易于扩展。必须从数据源中提取控件中的数据(它们在行,属性路径中的路径中可用,在控件中描述)。数据源必须放在一个单独的模块中,并应提供公共方法以便从中检索数据。

使用DOM应该通过jQuery库或(最好)i-bem进行。有必要在BEM的意识形态中描述页面的控件和组件。

作为使用语法小胡子的模板语法。

使用jquery +胡子。故意讨论是否使用该组织来要求js mvc应用程序结构。 您能否告诉我们如何使用模板胡子更好地组织应用程序架构? (因为在他们没有遇到之前,才开始学习) 如何在不使用BEM技术堆栈的情况下应用BEM方法?

PS。抱歉我的英文。

1 个答案:

答案 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数组并附加模板渲染内部的结果。