event + beforeevent

2011.02.03. 07:40 stack

Amikor saját komponenseinkhez műveleteket rendelünk, ahhoz eseményeket, akkor érdemes az alábbi sablont használni:

event: function (...) {
    if (this.fireEvent('beforeevent', this, ...) !== false){
        this.doEvent(...);
        this.fireEvent('event', this, ...);
    }
    return this;
},
doEvent: function (...) {
    // ...
}

Kiemelendő, hogy a before esemény előfeltétel is egyben, amennyiben nem teljesül, akkor az egész esemény végrehajtása elmarad.

(azt persze én is keverem, hogy hol doEvent, és hol onEvent elnevezést használok. Az ExtJS kódját figyelve sem sikerült egyértelmű szabályt felfedezni, de ha valaki tudja, akkor megírhatná!:)

2 komment

Címkék: beforeevent

A bejegyzés trackback címe:

https://extjs.blog.hu/api/trackback/id/tr122635014

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

tz. · http://www.vbulletin-forum.info/ 2011.02.07. 12:17:33

Szerintem olyasmiről van szó, hogy az „OnEvent” az osztály eseményének neve, amit ha akarunk, meghívhatunk másik osztályból. Nem biztos, hogy történik valami. A „DoEvent” a ténylegesen implementált esemény, ami megvalósítja az „OnEvent”-et. Szemléletesebb, hogyha az „Event” helyére valami konkrétumot képzelünk, például „Resize”. Az „OnResize”-t ha akarjuk meghívjuk egy konténer gyerekeire átméretezés esetén. De nem biztos, hogy minden gyereknek ki van fejtve a „DoResize”, amiben az van leírva mi a teendő átméretezés esetén. Nem tudom tudományosabban megfogalmazni, de ilyesmiről lehet szó.

stack 2011.02.07. 15:42:57

@tz.: Na várjál, azért az onValami függvényeket ne nagyon hívogassuk más osztályból. Illetve egy konténer ne hívogassa elemeinek privát függvényeit!
Én kicsit másként közelítem meg, nálam a valami és a doValami általában nagyon konkrét, ezek öröklés után se sűrűn módosulnak, míg az onValami azok olyanok, amelyeket örökléskor felüldefiniálhatok, kiegészíthetők, stb.

ExtJS blog, mi ez?

Az ExtJS egy JavaScript keretrendszer, melyet a blog írója elfogultan a legjobbnak tart, és ez a blog olyan apróságok gyűjteménye, melyek ExtJS használata közben felmerültek, eszébe jutottak...

Címkék

ajax (4) alignto (1) állás (3) analytics (1) anchorto (1) android (4) animate (2) array (9) auto (1) back button (1) beautifier (1) beforeevent (1) benchmark (1) blur (1) budapest.js (1) button (1) canvas (1) capture (1) case sensitive (1) center (1) change (1) cikkajánló (1) class (2) closure compiler (1) collapse (1) combobox (3) comment (1) console.log (2) contextmenu (2) core (2) count (1) css (15) csv (1) dataview (1) date (4) datefield (3) datepicker (1) debug (1) doksi (1) dragdrop (1) easing (1) eclipse (1) editor (1) element (5) error (5) eval (2) event (1) fejtörő (1) field (2) fieldset (1) filter (1) firefox (4) firefox extension (2) focus (3) fonts (1) fun (1) function (1) google (2) google chrome (1) grayscale (1) grid (4) group contact (1) header (3) height (2) hidden (1) hirek (2) history (1) htaccess (1) html5 (2) htmleditor (2) https (1) icon (3) id (2) ie (2) ie6 (1) ie9 (1) iframe (3) image (2) indexof (1) javascript (1) jquery (2) jslint (2) jsmin (1) json (7) keymap (1) kipróbálom (2) könyvajánló (2) label (1) layout (1) lint (1) log (1) loop (1) magyar (2) mandelbrot (1) mask (1) math (1) maxlength (1) mistake (1) mysql (5) napi szívás (16) nem extjs (12) node (1) nth child (1) number (1) off (5) offline (1) operator (1) override (20) pagesize (1) paging (2) panel (2) php (7) picker (1) plugin (3) pozicionálás (2) preload (1) print (1) propertygrid (1) pseudo (3) readonly (2) record (1) regexp (1) replace (1) resizable (1) rotate (1) round (1) scale (1) sencha touch (2) server (1) shuffle (1) slider (1) sort (3) sortable (1) store (2) string (7) sum (1) tabchange (1) tabpanel (1) tab key (2) tdd (1) template (1) textarea (2) textfield (1) textitem (1) theme (2) throw (1) timer (1) timestamp (1) title (2) toggle (1) toolbar (6) tools (1) total count (1) transparent (1) tree (1) treenode (1) trigger (1) truncate (1) try (1) ucfirst (1) undefined (2) unique (1) unload (1) urlencode (1) utf8 (2) verzió (1) video (1) viewer (1) viewport (2) visible (2) vtype (1) window (2) xtype (1) zindex (2)

Extjs.blog.hu - RSS

Kérdés?

süti beállítások módosítása