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

[Homework] SPA with AngularJS - Controllers-and-Markup

След много копи-пейст, няколко тутотриала и видеа ето резултата:

ДЕМО  -  КОД  Ъплоуд-а на видео работи само локално на node сървъра!

За скелет ползвам сийд-а от туториала в официалния сайт на Angular цък, който горещо препоръчвам. На 80% си направих нещата от там.Кода в демото е прекрасно обяснен и се минава за два часа. Идеята е да се направят отделни модули за контролерите и филтрите(в случая), които се слагат като депендансита в галвния ни модул на апп-а. В app.js освен модулите си инжектирам и сървисите(май е по-правилно провайдърите) за раутинг ngRoute, и за премахване секюрити(ескейпинг) ишутата ngSanitize , за които Angular така старателно се грижи. Там се конфигурира и на кои урл-та какви паршали да се зареждат, и кои контролери да отговарят за тях. Фактически в index.html има само едно ng-view в бодито, към което се залепят паршалите. Супер чисто и удобно.В js/controllers си правя модул за контролерите. Ползвам $http сървиса. Записвам видета в един videos.json файл. От него си ги гетвам при листване, а при добавяне взимам файла, пушвам новия обект в него,  json.stringify-вам го, и чак тогава го поствам. Учудих се, че тръгна така без истински сървиси но... Естествено ъплоуд на видео работи само локално, защото няма кой да ми рънне node-ския сървър като си го хостна на ICN, а иначе това става от server.bat/sh файла. В js/flters имам модул за филтрите. Единия ползва $sce сървиса, за да ми позволи angular да ng-src-свам линковете за видеата. Понеже ползвам iframe(не намерих по-удачен начин) трябв да се линква ембедед-урл-а от ютуб. С другия филтър просто си дисплелйвам тикчета за true и false на hasSubtitles. Валидацията на формата беше голяма заигравка, особенно да е disabled submit бутона при неверен инпут. Ако не зададеш name и ng-model  на инпутите angular влиза в конфликт с html валидатора и не могат да се разберат кой кво ше прави.

Отново проблем бяха датите. В json файла няма как да нбиеш new Date() и трябва да сложиш едно такова чудовище 1393134567877, и от него да си правиш после дата. Не можах по никакъв начин да разбера коя цифра за коя част от датата отговаря...никаква логикаsealed

Общо взето документация в официалния сайт според мен е супер добре направена и много полезна. Има и dvelopers guide tutorial, който сигурно е доста по-адвансд и полезен smile 

Тагове:
22
JavaScript Applications
Matrix avatar Matrix 1092 Точки

То едно на ръка са обясненията, че ги няма...ама сега видях, че в системата са качени само видеа от камерата... Имам подозрения, че записа на скрийнкаста е бил забравен да бъде пуснат, което мися да го оставя без коментар... Дано да греша и все пак видеата от скрийнкаста да се появат, последната ми надежда е, че просто е забравено да бъдат качени... Иначе този курс ще започне да граничи вече с абсолютния провал...

Към настоящия момент единсвената алтернатива са купищата туториели в нета за Ангулар. Горещо препоръчвам видеата на Ивайло Кенов от Телерик, който принципно съм го признал за един от най-добрите лектори в България [те принципно не са много - Наков и още 2-ма, 3-ма...] и има страхотна способност да обяснява и предава знания. Препоръчвам ви лекциите му, много неща научава човек от тях и още много други му се изясняват, когато няма другаде откъде. Даже бих го препоръчал и като стил на водене на лекции, за всеки които иска да се понаучи да преподава качествено. Аз в момента гледам лекциите от Ангулар курса му и нещата там са обяснени както трябва.

8
25/12/2014 11:30:17
nakov avatar nakov SoftUni Team Trainer 5295 Точки

Липсващата лекция ще бъде качена. Останала е забравена на лекторския лаптоп. Утре се надявам да бъде качена. Междувременно подготвяме Lab за AngularJS, но ще е след празниците.

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