Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, andini, Вы писали:
A>>Есть. Есть. И еще раз есть.
S>Ну так вы обратили внимание, что там специальная конструкция введена
Не важно, что там внедрено. Следующее твое заявления является ложью:
И даже в этом случае в шаблоне нет логики.
S>>>А вот Реакт:
S>>>Отсюда: https://www.tutorialspoint.com/reactjs/reactjs_forms.htm
A>>Что тебе мешало пойти на сайт реакта и почитать про него хоть что-нибудь? Документация у них лучше большинства туториалов и развеивает многие заблуждения.
S>А что там иначе написано? Вот, все та же помесь HTML и JS:
Код поскипан. Ты не прочитал, что написано по ссылке, от слова совсем.
S>Я немало (несколько лет) работал в Web-е еще до того как там появились эти ангуляры и React-ы. Немного (недели 2) работал с Angular на небольшом приложении.
S>Зачем отрицать очевидное — как ты не назови — это сместь JS и HTML. Т.е. в шблоне у вас куски кода.
Это ты про ангуляр. Не про реакт.
Так как ты не понял, что написано по ссылке, перевожу. Медленно и один раз.
JSX — это тончайший HTML-подобный DSL, который напрямую транслируется в вызовы функций. Там нет ни куска HTML'я. При желании JSX можно не использовать
воообще, и
ничего не изменится.В ангуляре такое невозможно. Я надесюь ты знаешь, что такое DSL.
То есть:
<div className="class">text</a>
это просто более лаконичный способ записи следующего кода
React.createElement('div', {className: "class"}, ["text"]);
Эти два куска кода идентичны. Более того, второй кусок кода это то, во что транслируется JSX при транспиляции Babel'ем. Именно потому что JSX — это тончайший DSL для вызова функций, в нем и вокруг него работает все, что есть в JS: variable scope, функции, циклы и прочее. Потому что там нет HTML'я (строки). Там есть Javascript.
В отличие от ангуляра, который имеет:
— HTML-подобный шаблон в виде строки
— со специальными маркерами для интерполяции некоторого ограниченного набора JS {{}}
— со специальными маркерами для байндинга свойств []
— со специальными маркерами для байндинга событий (), которые позволяют написать некоторый ограниченный набор JS-подобных конструкций (например: (input)="currentHero.name=$event.target.value" — все смешалось в доме облонских)
— со специальными конструкциями для логики ngFor, ngIf, ngSwitch, каждый из которых дополнительно имеют свои полускриптовые куски (например: <div *ngFor="let hero of heroes" [hero]="hero">)
Но да, но да. "Ангуляр более правильный, ведь он ничего не смешивает, я это знаю, потому что когда-то что-то писал для веба, а с ангуляром работа целых две недели, а среактом не работал никогда НО МНЕНИЕ ИМЕЮ".