Pytanie Jak utworzyć niestandardową wtyczkę jQuery za pomocą maszynopisu?


Potrzebuję niestandardowej wtyczki jquery w mojej aplikacji i jak mogę utworzyć niestandardową wtyczkę jQuery za pomocą maszynopisu. Mam dużo google i właśnie dostałem poniżej linki

http://typescript.codeplex.com/discussions/398401 

Zdefiniuj niestandardowy widget jQuery UI w TypeScript

Powyższe linki używają zwykłego kodu javascript, jednak kod javascript będzie działał w maszynopisie, ale problem z tym jest taki, że nie mogę używać klas maszynopisów w tej wtyczce. Czy jest jakiś sposób użycia klas maszynopisów z wtyczką jquery, czy też istnieje inny sposób tworzenia wtyczki jQuery w maszynopisie.

Wszelkie sugestie należy docenić.


11
2017-10-25 09:00


pochodzenie


Maszynopis tworzy Javascript. Więc, z czym się zmagasz? learn.jquery.com/plugins/basic-plugin-creation - WiredPrairie
@ WiredPrairie, wiem, ale mam widżet maszynopisu, który muszę przekonwertować na wtyczkę. Czy istnieje sposób na zmodyfikowanie niestandardowego widgetu maszynopisu do niestandardowej wtyczki maszynopisu? - karthik
Co to jest "niestandardowy widget"? Będziesz musiał użyć technik tworzenia wtyczek jQuery. - WiredPrairie


Odpowiedzi:


Podczas tworzenia wtyczki istnieje bardzo mała różnica między używaniem JavaScript a maszynopisem. Prawdopodobnie będziesz chciał pobrać definicję jQuery dla TypeScript z tutaj najpierw i dodaj go do projektu (lub umieść go w wierszu poleceń itd., w zależności od środowiska programistycznego).

Następnie, po prostu napisz wtyczkę i użyj dowolnych klas i istniejącego kodu, który chcesz. Poniższy przykład nie pokazuje nic innego, jak tylko wykazać, że nie różni się niczym od oryginalnych technik wtyczek JavaScript.

(function($) {
    $.fn.myPlugin = function() {
        // do something
        return this;
    };

    $.fn.myEachPlugin = function(options)  {
        var settings: any = $.extend({
            color: "#ffff00"
        }, options);

        return this.each(function() {
            // do something ...
        });
    };

})(jQuery);

7
2017-10-25 12:28



Twoja odpowiedź korzysta z anonimowej notacji funkcji "gruba strzałka" cztery razy. W dwóch przypadkach należy użyć starej funkcji "function () {" ze względu na sposób, w jaki TypeScript obsługuje "to": zobacz Podręcznik TypeScript. Zasadniczo, gdy używana jest składnia ze strzałką tłuszczu, "to" wskazuje na "to" poza anonimową funkcją. W takim przypadku potrzebujesz tradycyjnego, normalnego sposobu, więc potrzebujesz: $.fn.myPlugin = function() {  i $.fn.myEachPlugin = function(options) { - MarkusT