簡體   English   中英

jQuery插件與小部件

[英]jQuery plugins vs widgets

幾個月前,我開始用jQuery插件進行一些實驗。 我在Interenet上找到了一些教程,我開始把一些東西放在一起。
幾天前,我有必要建立自己的“插件”並回到我原來的項目。 為了在互聯網上找到更多信息,我碰到了這些叫做小部件的新“事物”。

根據我的理解,我應該忘記插件並開始開發小部件。 插件是舊概念還是仍然有效? 如果需要帶接口的自定義jquery控件,最好的方法是什么?

我正在廣泛使用jQuery UI。

我有一個問題,相當於我自己,我無意中發現這個 (jQuery的文檔):

無狀態與有狀態插件

大多數jQuery插件都是無狀態的; 他們執行一些行動,他們的工作已經完成。 例如,如果使用.text( "hello" )設置元素的文本,則沒有設置階段,結果始終相同。 對於這些類型的插件,僅擴展jQuery的原型是有意義的。

但是,有些插件是有狀態的; 他們擁有完整的生命周期,維持狀態,並對變化作出反應。 這些插件需要大量專用於初始化和狀態管理(有時還有破壞)的代碼。 這導致了很多用於構建有狀態插件的樣板。 更糟糕的是,每個插件作者可能會以不同的方式管理生命周期和狀態,從而為不同的插件生成不同的API樣式。 小部件工廠旨在解決這兩個問題,刪除樣板並在插件之間創建一致的API。

一致的API

窗口小部件工廠定義如何創建和銷毀窗口小部件,獲取和設置選項,調用方法以及偵聽窗口小部件觸發的事件。 通過使用小部件工廠來構建有狀態插件,您將自動符合定義的標准,從而使新用戶更容易開始使用您的插件。 除了定義界面外,widget工具還為您實現了大部分功能。 (......)

在初始化時設置選項

每當您構建一個接受選項的插件時,您應該為盡可能多的選項定義默認值,然后將用戶提供的選項與初始化時的默認值合並。 (...)小部件工廠提供此功能,甚至更進一步。

我在這里發布功能參考,因為這是我第一次尋找答案的地方! :)

您可以編寫jQuery插件jQuery UI小部件

取決於你想做什么。 這些都不是過時的 如果你編寫一個小部件,它將依賴於jQuery UI(當然還有jQuery),如果你編寫一個插件,它將只依賴於jQuery。 真的,這取決於你想要達到的目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM