我正在编写一个小的 JavaScript 框架,以实现类似于骨干网的有趣和可能的实现(因此有标签)。我已经开始将元素保存为对象属性,如下所示。我不确定我是否见过这样做,所以我很好奇这是否会导致任何问题。
同样,如果模块依赖于其他模块,我会在对象顶部以....另一个对象的形式列出这些模块。
我想要一种列出依赖项(页面元素或 JavaScript 模块)并预先检测任何问题的方法。这与依赖注入具有相似(不同)的好处。
这是此代码审查帖子中的一个特定问题,它进一步解释了框架的工作原理。
/*MUserTry
**
**
**
*/
$A.modelAjax({
Name: 'MUserTry',
S: {
DynSma: SDynSma,
DynTwe: SDynTwe,
DynArc: SDynArc,
AniFlipPage: SAniFlipPage,
ClientStorage: SClientStorage
},
E: {
but: $A('#ut_but')[0]
},
J: {
box: $('#ut_box')
},
init: function () {
var pipe = {},
this_hold = this;
this.J.box.draggable();
this.E.but.addEventListener("click", function () {
pipe = $A.definePipe(this_hold.Name);
$A.ajaxMachine(pipe);
}, false);
},
pre: function (pipe) {
pipe.page.email = this.e_button.getAttribute('data-email');
pipe.proceed = true;
},
post: function (pipe) {
this.S.ClientStorage.setAll(pipe.server.smalls);
this.S.DynSma.run(pipe.server.smalls);
this.S.DynArc.run(pipe.server.arcmarks);
this.S.DynTwe.run(pipe.server.tweets);
this.S.AniFlipPage.run('ma');
},
finish: function (pipe) {
$A.log(pipe);
}
});