AngularJS - ненавязчивый JavaScript

{title}

В какой-то момент мы должны были услышать термин « ненавязчивый Javascript», это означает, что мы не пишем код Javascript непосредственно в HTML, и что наше приложение может работать так же хорошо, если у нас не был включен Javascript .
Это было предпосылкой в ​​течение многих лет, потому что до недавнего времени браузеры не имели одинакового поведения при одинаковых кодах в Javascript, кроме того, тип и стиль разработки побуждали нас все чаще выполнять все на стороне сервера.
С изменением менталитета и появлением новых стилей программирования в дополнение к улучшениям в интерпретации Javascript между различными браузерами все изменилось.

Причины, почему вы должны написать ненавязчивый Javascript


Чтобы узнать, почему используется такой стиль кодирования приложений, мы должны увидеть причины, которые привели к следующим выводам:
Причина 1

Не все браузеры поддерживают Javascript, поэтому приложение должно работать, не полагаясь на функции, написанные на этом языке.
Причина 2

Люди, которые используют браузеры для слабовидящих, не могут работать с нашим приложением, и мобильные браузеры не поддерживают этот язык.
Причина 3

Javascript работает по-разному в каждом браузере, и Internet Explorer делает эту разницу более заметной.
Причина 4

Обработчики событий работают глобально, поэтому у нас могут возникнуть конфликты при интеграции других библиотек с такими же именами.
Причина 5

Обработчики событий сочетают структуру и поведение, усложняя обслуживание кода.
Если мы знаем о последних тенденциях в Интернете, мы можем знать, что, по крайней мере, пункты 1 и 2 из того, что мы объяснили, больше не применяются, фактически, если мы отключим Javascript в нашем браузере, мы, вероятно, не сможем увидеть 90% веб-сайтов. сегодня; Что касается мобильных телефонов и их браузеров, они работают с Javascript так же, как их настольные аналоги и с равной производительностью.
Так как по причинам 3 и 4 AngularJS предлагает нам другой способ применения кода, так что нам не о чем беспокоиться, первое отличие в поведении браузера прозрачно для программиста, то есть AngularJS отвечает за перевод Инструкция правильно для Internet Explorer в основном.
Тогда обработчики событий не имеют глобальной области видимости, но они ограничены областью $ нашего элемента AngularJS, поэтому мы можем определить функцию в событии Click следующим образом:

{title}


Если мы посмотрим на событие click, то обработаем его с помощью ng-click, некоторые могут подумать, что это очень плохо, однако это не так, потому что это событие находится в области действия его элемента, поэтому, когда мы определяем функцию с AngularJS, это Он может вести себя по-разному, даже если у него одинаковое имя, давайте посмотрим, как мы определяем Javascript :

{title}


Здесь мы демонстрируем, как $ scope или scope - это тот, кто определяет разницу в том, что приложение должно делать при вызове обработчика события.
Как мы видим, AngularJS снова определяет концепцию неинтрузивного Javascript, предоставляя нам большую свободу при написании наших приложений и помогая улучшить способ чтения и поддержки кода.

  • 0