Loading...
petrovaliev95 avatar petrovaliev95 358 Точки

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

Качвам и моето домашно. Заиграх се малко с 2-ра задача и мисля, че се получи добре, само дето не разбрах как да махна това премигване в началото при зареждане на страницата. Добавих валидация за формата на урл-а и валидноста. Закачих един евент листенер на инпут полето и при всяка промяна прави елемент "имг" и се пробва да му закачи този урл ако хвърли грешка прави полето невалидно. Сигурно има и много по умни варианти, но не можах да се сетя за друг. Пробвах всеки път да правя ajax заявки до url-a, но имах проблем с "CORS".

AngularJs Overview: 

Искам да напомня на колегите, че трябва да тестват домашните на сървъра който ни дадоха. Просто трябва да стартирате ".bat" файла ако сте под windows или ".sh" ако сте под linux и сървъра тръгва на "localhost:1234". Ще се радвам на препоръки и критики от колегите.

 

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

5
arsoman avatar arsoman 419 Точки

Здравей, за мое съжаление не разбрах почти нищо, явно си напред в материала, та имам въпрос:

за втора задача не може ли просто да ползваме $scope.url = document.getElementsByTagName('url').val; в контролера и да го подадем после на <img ng-src="{{url}}" alt="pic"> в html-a? В смисъл не питам дали ще стане, защото при мен стана, но дали е правилно и ако не, как да вземем данни от input field с angular?

Благодаря!

0
Karlie avatar Karlie 438 Точки

Arsoman, с Ангюлар може да стане много по-бързо и по-лесно. Решението на колегата е доста подробно и вероятно затова се объркваш, най-простият начин, който показаха и на лекции е следният:

<body ng-app="yourAppName">

<input type="text" ng-model="imageUrl"/> ( създаваш новo пропърти в scope и го кръщаваш imageURL)

<img ng-src="{{imageUrl}}"/> (тук взимаш стойността на пропъртито)

</body>

 

3
21/12/2014 20:18:20
arsoman avatar arsoman 419 Точки

Karlie, всъщност точно така го направих, но малко спестих код в поста ми, но как да взема в контролера стойността на input-полето, освен с document.getElementsBy.....нещо си?

0
21/12/2014 20:35:00
Karlie avatar Karlie 438 Точки

Мисля, че изобщо не ти трябва контролер. Доколкото разбирам, Angular си има нещо като вградени контролери за своите директиви (или поне за някои от тях). (Директиви са тези заявления, които започват с ng-...(нещо си).

Тоест, за ng-model си има вграден контролер. https://docs.angularjs.org/api/ng/directive/ngModel  Поне при мен... няма никакъв контролер, зареден в хтмл-a и си работи. Ето моето решение.

2
21/12/2014 21:05:36
petrovaliev95 avatar petrovaliev95 358 Точки

Колеги това ng-model="neshto" се нарича байдване и не ти трябва да взимаш стойноста на полето в джаваскрипт файла. В началото на курса и на мен ми беше странно как така работи, как така само в html-a се случват тези неща. Препоръчвам ви да изгледате лекциите на Ивайло Кенов от Телерик на мен лично много ми помогнаха да разбера някои неща които са много странни. Също така може да изгледате Семинара за Angular в softuni.  

1
arsoman avatar arsoman 419 Точки

petrovaliev95, благодаря за препоръките и насоките за видеата, но нали уж тук и сега учим Angular, някак не бих искал да гледам други видеа, ако това е нужно, значи курса тук е непълен! Иначе малко ми светна с това байндване и наистина не ми трябва контролер, както каза Karlie. Все пак беше нужно повече да се обясни на лекцията, а не тук да се питаме. Благодаря сърдечно и на двама ви!

-1
Matrix avatar Matrix 1092 Точки

"Искам да напомня на колегите, че трябва да тестват домашните на сървъра който ни дадоха. Просто трябва да стартирате ".bat" файла ако сте под windows или ".sh" ако сте под linux и сървъра тръгва на "localhost:1234". Ще се радвам на препоръки и критики от колегите."


Здравей, Даниел... Можеш ли да дадеш HINT, къде е качен този сървър и bat файла му... Сърчнах в директорията на курса, но не можах да се ориентирам и да го видя...

0
petrovaliev95 avatar petrovaliev95 358 Точки

@Matrix Сървъра се намира в папката "scripts", а "server.bat" файла е в директорията на проекта.

0
Matrix avatar Matrix 1092 Точки

Имах в предвид, къде е качен този сървър, за да го ползвам, но вече се оправих - изрових някакъв от папката с демата от първата лекция... :)

0
Karlie avatar Karlie 438 Точки

Ами тъй де, той и Дани Петровалиев има предвид същия сървър - web-server.js, намира се в папката scripts и е същият, като от демото. Само трябва да си смениш името на файла в този ред:  var path= "./index.html" с твоето име на файл.

1
XmUrF avatar XmUrF 363 Точки

А защо да трябва да тестваме домашните на сървъра, който са ни дали? Не виждам да има такова изискване никъде. WebStorm-a си прави сървър и няма нужда от допълнителни сървъри.

0
petrovaliev95 avatar petrovaliev95 358 Точки

Препоръчано е да се ползва онзи сървър, но ако те затруднява си ползвай web storma.

0
arsoman avatar arsoman 419 Точки

А грешно ли е, ако си ползвам xampp? Работи на 100% без никакви проблеми?

0
Karlie avatar Karlie 438 Точки

То при мен нещата си тръгват 100% и на Мозила (като директно си отворя html файловете) и като пипна една настройка на Хрома, да допуска cross origin заявки, и на него. Честно казано, изобщо не разбрах (от първата лекция) защо трябва да пускаме първото домашно през локален сървър.

Естествено, ако тръгна да проверявам домашни и някое не ми се отваря, ще го пусна през localhost, ама иначе, не знам какъв е смисълът...? Просветлете ме, моля.

0
23/12/2014 17:28:55
Matrix avatar Matrix 1092 Точки

Технически нямам познанията, за да го обясня защо на Ангулар му е необходим сървър [очаквам Роял да мине да ни просветли, ако види темата :D ], но знам че му е необходим в определени случаи... За тези задачи от това домашно и при мен рънват, но за други може да се наложи... Ако не ни беше необходим сървър, дори самите лекции нямаше да се водят с такъв...

0
24/12/2014 14:56:50
petrovaliev95 avatar petrovaliev95 358 Точки

Обяснил съм малко по-надолу.

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