2012-03-23 86 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