![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 4 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, pisze własny plugin i potrzebuje pomocy. Chce aby po dodaniu ścieżki do mojego js można go było zainicjować tak jak np. datapicker i przekazać mu parametry
czyli zapinam się np na diva i potem w jego środku zostanie wyrenderowany html z js (prosiłbym od razu o informacje jak zrobić to najlepiej, czy stworzyć jakiś wirtualny dom bo html bedzie modyfikowany tylko jak to zrobić - jakiś przykład?). Aktualnie zrobiłem funkcje buildHtml() którą wrzuciłem do inita pytanie czy nie zrobić jakiś obiekt render? Zdaje sie na Was i obecne standardy. Pozdrawiam i dziękuje (IMG:style_emoticons/default/smile.gif) Kod: https://jsfiddle.net/fjgongun/ Ten post edytował d4ng 17.06.2016, 14:38:04 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Funkcje pisane dużą to konstruktory, więc nazwa powinna być małą.
Dodatkowo zauważ, że praktycznie żaden plugin nie zwraca obiektu, a instancjonuje go (jego wywołanie jest de facto wrapperem na konstruktor). Kod if(arguments[0] && typeof arguments[0] === "object"){ Brzydkie. Nie lepiej po prostu nazwać ten parametr? Po co Ci _extendsDefault skoro jQuery ma to wbudowane ($.extend)? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 4 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
yyyy "Brzydkie. Nie lepiej po prostu nazwać ten parametr?" przykład? w takim razie jak mam się zapiąć na dany element i na nim wykonać dane funkcjonalności?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Kod var SingUpEvent = function( parametr ){
var options = {}; if ( typeof parametr === 'object' ) { options = parametr; } } |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 4 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
hmm to nie jest dla mnie dobre rozwiązanie bo parametrów moze być 1-2 abo np 12. a wtedy wolałbym żeby to wyglądało tak:
jak to osiągnąć? (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej u źródła: https://learn.jquery.com/plugins/basic-plugin-creation/ (sekcja Accepting Options).
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
@d4ng ale przecież pokazałeś funkcję z jednym parametrem – obiektem zawierającym wiele własności. I tym bardziej nie widzę, dlaczego ten parametr nie może być nazwany?
Ogólnie w dobie dzisiejszego ES6, gdy mamy parametry opcjonalne, destructuring i rest parameters, używanie arguments po prostu trąci myszką – zwłaszcza, że można zrobić np. to: https://simonsmith.io/destructuring-objects...-to-be-optional |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 4 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję wszystkim za odpowiedz @comandeer rozumiem że chodzi i o
ale przyznam że rozwiązanie zaproponowane przez trueblue jest dla mnie estetyczniejsze. Będąc przy temacie własnego plugin chciałbym jeszcze tylko zapytać o wystawienie na zewnątrz eventów na które mogę się zapinać w innych pluginacha np myplugin.clearform (module pattern). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Nie, chodzi mi o: https://learn.jquery.com/plugins/basic-plug...cepting-options – co zresztą próbowałeś robić w swoim pluginie, ale w bardzo dziwny sposób.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 4 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ok poprawiłem swój kod ale coś nie bangla... poza tym chciałbym sie nauczyc jak najwiecej i pisac w jakiejś architekturze pytanie czy ide w dobrym kierunku?
widziałem też zappis gdzie najpierw tworzony był moduł a w nim zmienna self z przypisanym this i kada funkcja zaczynala sie self.showNumber = function(){} o co tu chodzi? Ps. Może AMD? będę wdzięczny za porady typu best practice (IMG:style_emoticons/default/smile.gif) Będę wdzięczny jak ktos rzuci okiem na kod (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 04:17 |