代码之家  ›  专栏  ›  技术社区  ›  wmitchell

javascript/jquery创建小部件并使用继承[关闭]

  •  0
  • wmitchell  · 技术社区  · 15 年前

    我已经在jquery上玩了一两个星期了,现在有了一个类似于一个骇客横行的例子。它需要结构——我以前在java等领域与MVC打过交道。。但是我发现很难将我的大.js文件转换成许多不同的逻辑分离视图。

    我知道如何在Java中实现这一点,但似乎无法理解javascript。我可以找到一个点,我可以隔离一个函数调用,在理论上,它会碰到类似控制器的东西。在这一点上,我继续检查父div等的某些样式,然后对特定div执行许多appendTo操作,从而创建我的组件。

    简而言之,我应该如何创建一个小部件并在jquery-top javascript中引用它。我不确定是否要定义对象和为它创建事件处理程序等。我想我做js的黑客太久了!

    如果你想知道我现在的代码是什么样的,请看 http://jqueryui.com/demos/droppable/#photo-manager

    我已经开始研究Backbone.js之类的东西,但是我想建议如何正确地创建我的小部件。

    非常感谢,所以

    2 回复  |  直到 15 年前
        1
  •  3
  •   robcast    15 年前

    我还在为一个增长危险的jQuery应用程序进行争论。

    我觉得亚历克斯·塞克斯顿的这篇文章很有帮助: http://alexsexton.com/?p=51 也就是说,您不应该害怕为自己的页面创建专门的jQuery插件来构造代码(和页面)。

    我还阅读了很多关于JavaScript中的类继承模式的文章,但是我发现Douglas Crockfords的建议最明智:“因为JavaScript中的对象非常灵活,所以你会想对类层次结构有不同的想法。深层次的等级制度是不合适的。肤浅的层次结构是高效和富有表现力的。” http://www.crockford.com/javascript/inheritance.html

    因此,您可能会有一个MVC类型的模式在您的后脑勺,但尝试实现它与尽可能少的对象层次结构。

        2
  •  0
  •   linusthe3rd    15 年前

    老实说,我不会尝试将widget开发与jQuery结合起来;它从来没有被设计成一个框架解决方案,它只是被设计成一个domapi。一位JS开发人员的博客文章解释了jQuery为什么不适合这一点: http://blog.rebeccamurphey.com/on-jquery-large-applications

    我建议使用已经存在的用于创建模块化小部件的框架。对于jQuery应用程序,存在JavascriptMVC(http://javaCRPTMV.COM/)。我个人使用Dojo工具包,它提供了一个健壮而强大的widget框架Dijit。这个框架在一个强大的DOM api之上提供了您所需要的一切,这个api的功能和速度与jQuery w/Dojo核心库一样强大。许多企业应用程序使用它来创建他们的web ui。它还支持il8n(国际化)、a11y(可访问性)等。

    Dojo工具包: http://dojotoolkit.org/

    编写Dijit小部件: http://dojotoolkit.org/reference-guide/quickstart/writingWidgets.html#quickstart-writingwidgets