Loading...
borislavml avatar borislavml 368 Точки

Заиграх се с bootstrap-a на това домашно, и се получи доста прилично според мен.

ДЕМО  -  КОД

Има един дразнещ бъг който не успях да разбера от къде идва. При презареждане на страницата и добавяне на книга за първи път не се визуализира в таблицата. При последващия добавяния и всякакви други дейсвия всичко е наред. Забеллязаах, че като почнеш да помпаш яко по всички функционални бутони парс.ком се сдухва и почва да обработва заяввките супер бавно. Може и да е от некачствения ми код, но съм по-склонен да вярвам, че е от сървисите. Не мога да си представя, който и да е комерсиален сайт с повече от 100 посетители на ден да разчита на тези услуги без да си доплати за допълнителен трафик. Явно наистина са доста глупави тея "безплатни" клауд сървиси.

Отново се сблъсках с проблема с повторението на код. Този път реших да добавям, едитвам и изтривам айтъми динамично и да обновявам само текущия айтъм върху, който се цъка. До сега правих релоуд на цялата база при промени и си спестявах код. Сега се налага да добавям функционалност на всеки нов динамично генериранн айтъм (демек да повторя едни стотина реда код от заявките при първоачално зареждане). Няма как да ги изнеса тези неща в една функиця, която да ползвам на двете места защото когато генерирам динамично, закачам data-attributes на съвсем рзлични дом елементи от тези при първоначалното зареждане.Убеден съм, че има и по-интелигентно решение на проблема, но просто не мога да вдигна абстракцията толкова. Явно наистина има каква беше там крива при ползването на jQuery, след което задобряваш и спираш да пишеш простотии. smile

8
ZvetanIG avatar ZvetanIG 907 Точки

Поздравления първо за добрия дизайн.

Не съм разглеждал кода ти, но се сблъсках няколко пъти с този проблем.  Решението е да ъпдейтваш страницата в success функцията на заявката.   По този начин ще си сигурен, че таблицата в Parse.com е обновена.

0
01/12/2014 14:49:22
borislavml avatar borislavml 368 Точки

Не мога да разбера с какво ще ми помогне ъпдейта? Примерно добавяме нова книга и за да я визуализирам веднага в хтмл-а има два варянта. Първия: добавям си я с ajax заявката(т.е ъпдейтвам базата)  след това ползвам готовата ми вече функция(заявка) за load на базата и я зареждам(ъпдейтната вече). Така превех на предишното домашно, но е кофти защот премигва и се криви цялата страница и според мен се губи цялата идеа на SPA. Втория вариант, който приложих този път при всяко добавяне/едитване на книга си правя нова такава ръчно, като трябва и да и добавя един куп функционалности- бутон за исзтриване и едитване (всъщнност това е кода който вече имам в load функцията и повтарям). Това обаче ми позволява да добавям, трия, едитвам само тази конретна книга и да си визуализирам промените само по нея, а не да презареждам цялата база и да ми мига грозно страницата. Би ли споделил решение и някакво обяснение, как точно ползваш този ъпдейт? Нали след като я ъпдейтнеш пак трябва да визулизирш промените(т.е да презареждаш).Нещо не мога да зацепя. smile Другия вариант за който се сещам е да не отразяввам дирекнто промените в хтмл-а, а юзъра да си ги види след рефреш на страницата, което никак не ми ми харесва. smile 

 

ЕДИТ: Сега видях, че си постнал решение. Ще го разледам и ще се опитам да разбера каква логика ползваш.smile 

1
01/12/2014 15:00:04
ZvetanIG avatar ZvetanIG 907 Точки

Този момент с премигването го има винаги, но това е локално. 

Според мен има различни решения:
-  да превърнеш недостатъка в ефект;
- при редактиране да не зачистваш старите данни преди да си получил новите;
- да променяш даните на сървара и на страницата по отделно. Но какво става при неуспешна заявка?

Ами за тези решения се сещам за момента.  Ако някой има други да сподели.

1
01/12/2014 15:16:33
ZvetanIG avatar ZvetanIG 907 Точки

Ето още едно решение.  Исках да е по подобен начин, както Владо реши демото по време на лекция и мисля, че се получи.

Дали е MVC незнам, но това ми беше целта.

Домашно

0
petrovaliev95 avatar petrovaliev95 358 Точки

Здравейте, колеги

Качвам и моето домашно.
Има доста бъгове, но мисля, че няма смисъл да си губя времето да ги оправям,
че си е доста играчка, нали все пак темата на домашното е друга.

Ето го и него:

 

Поздрави, Даниел

5
01/12/2014 15:47:11
kaizer avatar kaizer 35 Точки

Здравейте колеги,

моля за малко помощ.

Ето тук ми е решението на домашното или поне опита да я реша.

Използвал съм скелето, което Влади показа като демо.

Засега не успявам да визуализирам данните, т.е. GetAll. Не мога да разбера дали не бъркам някъде с parse.com.

Отдруга страна, когато добавям, методът ми явно работи донякъде, тъй като в базата ми излизат данните, докато в браузъра не съвсем.

Може да погледнете и Delete :)

До PUT още не съм стигнал.

Благодаря Ви, дано имате време!

0
StanDimitroff avatar StanDimitroff 90 Точки

При създаване на книга data ти връща само objectId и createdAt, title, author и isbn трябва да ги извикаш с GET request, ако искаш да върнеш от базата новосъздадената книга. Затова са ти и undefined, защото реално подаваш на метода attachBookToDom само тези двете, които споменах, другите просто не съществуват. Ако искаш да изобразиш новосъздадената книга или извиквай зареждането на всички книги или извикай от базата само нея с objectId. А за листването оправи си в цикъла в метода loadBooks data.count да ти бъде data.results.length и съответно book = data.results[i], защото data е обект, който има ключ results и стойност масив от обекти. Използвай някой от туловете за http заявки, за да ти стане по-ясно.

Поздрави

0
03/12/2014 18:17:46
VenIT avatar VenIT 63 Точки

Здравейте,

хайде ще споделя и моето домашно DEMO

И домашното BaaS-and-Parse.com , което е в същата категория. Малко е мазаляк,но......

Кода можете да си го видите с F12.

Забелязвам,че все по-малко хора споделят работите си и може би причината е демотивация.

5
ttitto avatar ttitto 1153 Точки

Причината е, че няма време. За курс от три седмици отборният проект ни дойде малко повечко. Аз съм предал само едно домашно като хората (в смисъл цяло), което не ми се е случвало в нито един курс досега.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.