Angular-styleguide: ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΡ‚ΠΈ $ emit, $ broadcast ΠΈΠ»ΠΈ $ Π½Π° Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 12 мая 2015  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: johnpapa/angular-styleguide

Π”ΠΆΠΎΠ½, Π² Y031 Π²Ρ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

НапримСр, ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ подпискС Π½Π° события с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ $ emit, $ broadcast ΠΈΠ»ΠΈ $ on рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСноса этих ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ? Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† ΠΊΠΎΠ΄Π°!

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ здСсь http://stackoverflow.com/questions/11252780/whats-the-correct-way-to-communicate-between-controllers-in-angularjs/19498009#19498009

ВсС 8 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Ρ‚ΠΎΠΆΠ΅ задумался ΠΎΠ± этом ΠΈ нашСл ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос / ΠΎΡ‚Π²Π΅Ρ‚ stackOverflow: http://stackoverflow.com/questions/14056874/how-to-emit-events-from-a-factory

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ касаСтся angular, поэтому, Ссли это плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, поТалуйста, скаТитС ΠΌΠ½Π΅. :)

ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ здСсь http://stackoverflow.com/questions/11252780/whats-the-correct-way-to-communicate-between-controllers-in-angularjs/19498009#19498009

Π― Π΄ΡƒΠΌΠ°ΡŽ, это Ρ‚Π°ΠΊΠΆΠ΅ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π² чисто ΡƒΠ³Π»ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΌ / Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.
Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ событиСм Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈ снаруТи ΡƒΠ³Π»ΠΎΠ²ΠΎΠΉ структуры
ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ pub / sub Π² Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰ΡƒΡŽ $ emit, $ broadcast.
Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ http://jonathancreamer.com/an-angular-event-bus-with-postal-js/

Π£ мСня Ρ‚ΠΎΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ прСдлоТСния ΠΎΡ‚ Y031 :

РассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования $ scope Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ нСобходимости. НапримСр, ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ подпискС Π½Π° события с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ $ emit, $ broadcast ΠΈΠ»ΠΈ $ on рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСноса этих ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ прСдлоТСния - Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ трансляций с использованиСм Ρ„Π°Π±Ρ€ΠΈΠΊ? Если Ρ‚Π°ΠΊ, я Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Π― Π΄ΡƒΠΌΠ°ΡŽ Π½Π΅ ΠΎ ΠΌΠ΅ΠΆΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½ΠΎΠΌ взаимодСйствии, Π° ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… измСнСниях состояния, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ / Π²Ρ‹Ρ…ΠΎΠ΄. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся ΠΏΡ€ΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ± этом ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ссли ΠΌΠ½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ это подходящая Π·Π°Π΄Π°Ρ‡Π° для трансляции?

Если я ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ понял, я Π΄ΡƒΠΌΠ°ΡŽ, Π²Ρ‹ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ поняли этот @sebastianhaas. Π­Ρ‚ΠΎΡ‚ ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ Π² руководствС ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ пСрСнСсти использованиС $emit , $broadcast ΠΈΠ»ΠΈ $on Π½Π° Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ, Π° Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ использованиС _with_ Ρ„Π°Π±Ρ€ΠΈΠΊΠΎΠΉ.

Бпасибо Π·Π° ΠΎΡ‚Π²Π΅Ρ‚ @zachlysobey! Π”Π°, Π½ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ этого Π΄ΠΎΠ±ΡŒΠ΅Ρ‚Π΅ΡΡŒ? ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, я Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… трансляциях. Если я пСрСнСсу эти $on Π½Π° Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ, ΠΌΠ½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно, ΠΊΠ°ΠΊ снова ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± этом ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ ... Π£ мСня Ρ‚Π°ΠΌ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ $ scope Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π’ΠΎΡ‚ ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ объСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Ρ‚ΠΎΠ³Π΄Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС. Но Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹.

Π― пытался Π±Ρ‹Ρ‚ΡŒ остороТным здСсь, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‡Ρƒ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ scope.apply ΠΈ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ….

Π― снял ΠΏΡ€ΠΈΠ³ΠΎΠ²ΠΎΡ€.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо!

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ