Например, в AngularJS, если вы привязываете ng-model
к ng-repeater
, и ваш контроллер вызывает службу, которая обновляет модель, то ретранслятор обновляется, чтобы отразить изменение.Как элемент MVC System View знает, когда нужно обновлять?
Вопрос в том, как элемент вида (в этом примере, ng-repeater
) знает, что нужно обновить?
Например, существует ли таймер, который срабатывает каждую пару миллисекунд и обновляет пользовательский интерфейс (маловероятно)? Контроллер или представление реализуют какой-либо тип внутреннего прослушивателя событий для всех привязок и когда модель обновляется, он запускает повторную компоновку связанных элементов представления?
Большой найти! Наверное, я искал неправильные слова для вопроса, который у меня был на самом деле. Вы знаете, работают ли другие среды MVC, такие как версия .NET, на аналогичных концепциях? – chriszumberge
@chriszumberge Ни HTML, ни JavaScript изначально не поддерживают привязку данных. Это означает, что вам нужно написать код для размещения данных в элементе управления и написать код, чтобы извлечь его. Или вы можете использовать фреймворки, которые уже делают это за вас. Большинство современных фреймворков MVC делают это для вас и назову некоторые: AngularJS, BackboneJS, Ember, Simpli5, Meteor и список продолжаются ... Даже в JQuery есть импульс для поддержки того же: выражение jQXB. Надеюсь, что я смог ответить на ваш вопрос. –
Правильно, это все имеет смысл, но так как это все в основном вопрос теории MVC, чем вопрос, связанный с угловым выражением, что о чем-то не в HTML/JS lik iOS в Xcode? Обновлен текст UILabel, использует ли эта структура наблюдатель? Как наблюдатель «Стандарт MVC Framework»? – chriszumberge