我正在閱讀有關使用jquery ui小部件工廠創建插件的初學者文檔。它需要命名空間名稱:我應該如何使用jquery小部件上的命名空間?
$.widget('dp.list', {
我的問題是...你有一個名稱空間嗎?我的插件應該屬於什麼樣的名稱空間有什麼約定(桶)?有沒有一個列表,或者我可以做任何我想要的東西?
我正在閱讀有關使用jquery ui小部件工廠創建插件的初學者文檔。它需要命名空間名稱:我應該如何使用jquery小部件上的命名空間?
$.widget('dp.list', {
我的問題是...你有一個名稱空間嗎?我的插件應該屬於什麼樣的名稱空間有什麼約定(桶)?有沒有一個列表,或者我可以做任何我想要的東西?
的命名空間是個人的。但是:
命名空間是你識別你的插件的方式。通常你想用幾個簡單的詞來描述你的插件的功能,但保持它的獨特性。
通過描述你的插件,你告訴你的用戶簡要他們可以期待的插件做的,但如果名稱是常見的,你可能會遇到另外一個插件叫這個名字,並且可能會導致問題的一個爛攤子。
你也不想因爲那時不明確的插件做什麼,不描述它創造性的名字。
一個良好的開端將是看看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
如何命名空間與碰撞,當調用插件的時候命名空間無法使用幫助?如果您命名小部件'cart.shippingCalculator',那麼您仍然只是將它作爲'shippingCalculator'在jQuery對象上調用。 – Triynko 2015-12-07 21:04:23