2016-06-24 3 views
1

Я начал изучать Angular JS. Я не понимаю, как Angular работает внутри. Например. Рассмотрим w3schools' first example:Как работает Angular JS под капотом?

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app=""> 
 
    
 
<p>Input something in the input box:</p> 
 
<p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p> 
 
<h1>Hello {{name}}</h1> 
 

 
</div>

Вопросы:

  1. Как создать атрибут myng-myapp с простой JavaScript?

  2. Что такое {{}} в языке html? Как содержимое внутри этих преобразованных в текст? Как создать тот же эффект с помощью простого javascript. То есть я не использую библиотеку angularjs, а затем вставляю {{name}} в html-файл. Теперь в тегах скрипта я определяю var name = "Bob". Теперь как {{name}} будет преобразован в Bob?

Edit: Это как мой вопрос не является дубликатом связанного один:

  1. Мой вопрос не спрашивает о компиляторе, контроллер, Prelink и после ссылки.
  2. Мой вопрос не спрашивает о том, как объявить различные функции? В чем разница между исходным шаблоном и шаблоном экземпляра? В каком порядке выполняются директивные функции? Что еще происходит между этими вызовами функций?

  3. Связанный вопрос не объясняет, как создавать пользовательские атрибуты с помощью простого javascript.

  4. Это не объясняет, что такое {{}} в html или css.

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

спасибо.

+5

Давай, откройте руководство и прочитайте. Вы действительно ожидаете, что кто-нибудь объяснит это здесь? - то, что вы просите, огромно *. https://docs.angularjs.org/guide – dfsq

+0

@dfsq Является ли Angular 1 и Angular 2 одинаковым в основных концепциях? Потому что официальные документы не объясняют Angular2 с помощью javascript; они объясняют с помощью машинописного текста. – user31782

+0

Вы также можете быть заинтересованы в следующем: http: // stackoverflow.com/questions/24615103/angular-directives-when-and-how-to-use-compile-controller-pre-link-and-post Но уже есть много информации о SO и других источниках. – ArBro

ответ

1

Ответы на вопросы:

  1. Вы не можете создать что с простым JavaScript. Каждый атрибут, начинающийся с ng-, интерпретируется Angular. Он не является частью стандартов HTML, CSS или javascripts.
  2. Тот же ответ, что и 1. {{}} не является частью стандарта HTML.

Подумайте об Угловом (или любом другом фреймворке javascript, таком как jQuery) как дополнение или расширение (например, в Chrome) HTML, CSS или javascript.

+0

Затем создатели угловых js используют машинописный текст для расширения html и javascript языка для браузеров? Угловые делают новые вещи в html и JavaScript? – user31782

+0

TypeScript _compiles_ в javascript. Javascript является ** не типизированным ** языком, то есть мне не нужно указывать, является ли что-то целое число, строка, логическое и т. Д. ТипScript - это, как вы уже догадались, ** набрал ** язык. _makers_ (Google btw) от Angular позволили расширить возможности html и javascript. Сделать это проще для вас и меня, чтобы сделать классные, отзывчивые веб-сайты. –

+0

На самом деле вы можете установить его через Javascript, используя 'Element.setAttribute()'. Если вы подумаете об этом. Угловое записывается также в JS (ну действительно, машинописный, который компилируется в JS), поэтому он не похож на магические способности. – Antimony

Смежные вопросы