这不是一个错字:我问的是何时而不是如何编写 jQuery 插件。:-)
目前,我为我项目的几乎每个模块编写了一个 jQuery 插件。它工作正常,但听起来不对,因为实际上它与 jQuery 无关,只使用一次。
在我看来,插件必须独立于项目本身或在项目中多次使用。所以,我想知道我的架构是否总体上是错误的,我对即将到来的答案感到兴奋。
我现在的架构,显示在一个简单的博客示例中:
后端:
- BlogController.cls.php - 处理用户操作(eq 显示、评论、查找)
- BlogModel.cls.php -处理数据操作(eq getter、setter、save、delete)
前端:
路径:/博客/索引/
- index.htm - HTML 的索引模板
- index.js - JavaScript
路径:/blog/post/123/
- post.htm -文章页面的 HTML
- post.js - JavaScript
示例目标:
我想用“2 小时前添加”之类的酷消息覆盖每篇博文的日期和时间,而不是“在 MM/DD/YYYY HH:ii 上添加”。
因此,我为此页面编写了插件 BlogIndex。插件本身使用另一个插件将时间戳转换为字符串。以下是我使用插件 BlogIndex 的方法:
# index.htm
<div id="blog-index">
<ul>
<li>
<h2>Post Headline</h2>
<p class="datetime" data-timestamp="1234567890">June, 19th 2013 12:30</p>
</li>
<!-- more posts -->
</ul>
</div>
# index.js
$("#blog-index").BlogIndex({
liveDateTimePosted: true, // overwrites "mm/dd/yyyy hh:ii" to "2 hours ago"
liveDateTimePostedInterval: 500 // refresh every 500 ms
});
对于 post.htm 我会写插件 BlogPost 等等。我希望,我能解释我在做什么,以及为什么我这样不开心。
你会改变什么?您将如何以 OOP 和模块化的方式组织和编写 JavaScript?我对每个解决方案都持开放态度!
提前致谢!