Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (Collection). JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Backbone.js

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Π°ΠΊ ΠΆΠ΅, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ — это упорядочСнныС Π½Π°Π±ΠΎΡ€Ρ‹ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. App. Collentions. Friends = Backbone. Collection. extend ({. ПослС Ρ‡Π΅Π³ΠΎ запускаСм наш Ρ€ΠΎΡƒΡ‚Π΅Ρ€. Var friendsCollections = new App. Collentions. Friends ([. App. Models. PesonModel = Backbone. Model. extend ({. App. Router = Backbone. Router. extend ({. Console. log ('Бтартовая'); Model: App. Models… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (Collection). JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Backbone.js (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ — это упорядочСнныС Π½Π°Π±ΠΎΡ€Ρ‹ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π²Π΅ΡΠΈΡ‚ΡŒ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Π΅ΠΉ: Π½Π° ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ «change», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ оповСщСния, ΠΊΠΎΠ³Π΄Π° любая модСль Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ измСняСтся; Π½Π° ΡΠΎΠ±Ρ‹Ρ‚ия «add» ΠΈ «remove»; Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ (fetch) ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ с ΡΠ΅Ρ€Π²Π΅Ρ€Π° — ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Underscore. js.

Π›ΡŽΠ±ΠΎΠ΅ событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сработаСт Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ сработаСт ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ — для удобства — Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ события измСнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² любой ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ модСль.

App. Models. PesonModel = Backbone. Model. extend ({

defaults: {

name: 'Vlad',

age: 20, job: 'Web-developer'

}

});

ПослС Ρ‡Π΅Π³ΠΎ, ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ экзСмпляр нашСй созданной ΠΌΠΎΠ΄Π΅Π»ΠΈ.

App. Collentions. Friends = Backbone. Collection. extend ({

model: App. Models. FriendModel

});

Π’Π°ΠΊ ΠΆΠ΅, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.

var friendsCollections = new App. Collentions. Friends ([

{

name: 'Andrei',

age: 22, job: 'Web-developer'

},

{

name: 'Denis',

age: 25, job: 'Web-developer'

},

{

name: 'Ivan',

age: 25, job: 'Web-developer'

}

]);

Π ΠΎΡƒΡ‚Π΅Ρ€ (Router)

Π’Π΅Π±-прилоТСния часто ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своё состояниС, сдСлав Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ добавлСния ΠΊ URL Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. Π”ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для этих Ρ†Π΅Π»Π΅ΠΉ использовались ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΡΡˆΠΈ (#page), Π½ΠΎ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ History API стало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ URL ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° (/page). Backbone. Router прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ связывания этих дСйствий с ΡΠΎΠ±Ρ‹Ρ‚иями. Для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ History API, Router вСсьма элСгантно ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½ΡƒΡŽ структуру URL.

Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ создаст всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΅ΠΌΡƒ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Ρ‹, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Backbone. history. start () ΠΈΠ»ΠΈ Backbone. history. start ({pushState: true}), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС прилоТСния.

Боздавая свой класс-ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Backbone. Router.

App. Router = Backbone. Router. extend ({

routes: {

'': 'index',

'profile': 'profile',

'friends': 'friends',

'settings': 'settings'

},

index: function () {

console. log ('Бтартовая');

},

profile: function () {

},

friends: function () {

},

settings: function () {

}

});

ПослС Ρ‡Π΅Π³ΠΎ запускаСм наш Ρ€ΠΎΡƒΡ‚Π΅Ρ€.

new App. Router;

Backbone. history. start ();

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ