2012-03-23 42 views
3

我正在阅读有关使用jquery ui小部件工厂创建插件的初学者文档。它需要命名空间名称:我应该如何使用jquery小部件上的命名空间?

$.widget('dp.list', { 

我的问题是...你有一个名称空间吗?我的插件应该属于什么样的名称空间有什么约定(桶)?有没有一个列表,或者我可以做任何我想要的东西?

回答

0

的命名空间是个人的。但是:

  1. 命名空间应该让你了解插件
  2. 的“意义”尽量不要使用类似“usethispluginforsearhthingsinsidethedom”)
0

命名空间是你识别你的插件的方式。通常你想用几个简单的词来描述你的插件的功能,但保持它的独特性。

通过描述你的插件,你告诉你的用户简要他们可以期待的插件做的,但如果名称是常见的,你可能会遇到另外一个插件叫这个名字,并且可能会导致问题的一个烂摊子。

你也不想因为那时不明确的插件做什么,不描述它创造性的名字。

1

一个良好的开端将是看看jQuery UI的库。这些名字非常直观和有意义。该名称代表将在小部件实例化中创建的ui小部件。

jQuery的组件框架可以被视为以模仿OO类似功能的工具。

它为使用一致的API构建复杂的有状态插件 提供了灵活的基础。它不仅是jQuery用户界面的一部分 ,插件,但对于谁想要 无需重塑共同 基础设施创建的面向对象的组件,开发人员一般消费而设计的。 - http://wiki.jqueryui.com/w/page/12138135/Widget%20factory

命名空间可以是有意义的,如果你有多个模块,并且你想避免冲突,以及提供有意义的分类

$.widget('<module_name>.widgetName', {..prototype..}) 

$.widget('cart.paymentProcess', {}) , $.widget('cart.shippingCalculator', {}) 
$.widget('catalog.productReviews',{}), $.widget('catalog.productPricing',{}) etc 

我也建议阅读这些有帮助的问题以了解jQuery小部件中的命名空间问题:
JQuery UI: How to call a widget function with its namespace
Extending jQueryUI widgets without conflicts

+2

如何命名空间与碰撞,当调用插件的时候命名空间无法使用帮助?如果您命名小部件'cart.shippingCalculator',那么您仍然只是将它作为'shippingCalculator'在jQuery对象上调用。 – Triynko 2015-12-07 21:04:23

相关问题