Wpis z mikrobloga

#javascript
Hej, mam dwa moduły w js
var m1 = (function(m2) {
function f1() {
m2.f2();
}
})(m2);

var m2 = (function() {
function f2() {}
return {
f2: f2
}
})();

W tej kolejności dostaje błąd, że funkcja f2 z modułu m2 jest niezdefiniowana. Myślałem, że wstrzyknąłem to jakoś i nie ma znaczenia kolejność modułów. Powiedzcie mi proszę jak to zrobić, żeby mieć takie elastyczne bloki i żebym mógł wywoływać sobie ich metody niezależnie od kolejności.
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@IlllI: w momencie deklaracji m1 nie masz jeszcze m2 (undefined). Ide wlasnie spac, jak nic do jutra nie wykminisz to pomyslimy. Sproboj zamienic slowka var na slowka function, czyli zamiast var m1= function daj function m1(){tu dalej}
  • Odpowiedz
@kefas_safek: dzięki za odpowiedź, jak zamienie kolejnością to śmiga tu bardziej chodzi o naukę. Gdy piszę w angularze to tam te moduły się tak fajnie wpina wzajemnie i wszystko śmiga. Kiedy robię jakieś proste rzeczy bez frameworka też chciałbym mieć taką elastyczność a nie ma sensu wpinania kobyły dlatego szukam jakiegoś wzorca na to ;)
Pozdrawiam
  • Odpowiedz