фреймворки javascript: что такое привязки пользовательского интерфейса и составные представления? - PullRequest
14 голосов
/ 26 января 2012

Я читаю это:

http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/

Я использую backbone.js. Я люблю это, хотя это требует слишком много шаблонного. Так или иначе.

Автор поста, похоже, придает большое значение привязкам пользовательского интерфейса и составному представлению.

Мне кажется, я знаю основное преимущество привязок пользовательского интерфейса: вы можете изменять небольшие части представления по мере изменения модели без повторного рендеринга всего представления. Я не обязательно вижу в этом смысл. Если ваш взгляд огромен, может быть, вы должны сделать меньшие взгляды? Я видел код knockoutjs, и он завален уродливыми данными, связывающими данные. Как emberjs справляется с этим? Есть ли пример?

Понятия не имею, что он имеет в виду под составленными взглядами, может кто-нибудь объяснить?

Составные виды. Как и всем разработчикам программного обеспечения, мне нравится создавать модульный код многократного использования. По этой причине при программировании интерфейса я бы хотелось бы иметь возможность составлять представления (желательно на уровне шаблона). Это также должно повлечь за собой потенциал для компонента расширенного представления иерархия. Примером этого может быть многоразовый виджет нумерации страниц.

Есть ли пример?

Спасибо

Edit:

Поможет ли это создать что-то вроде составных представлений?

https://github.com/tbranyen/backbone.layoutmanager

Ответы [ 4 ]

6 голосов
/ 30 января 2012

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

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

Что касается "уродливого" кода привязки данных, магистраль должна знать, как присоединиться к существующей разметке и как изменить ее при возникновении события.

Может быть, этот пример поможет: http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/

5 голосов
/ 28 января 2012

Традиционные веб-страницы являются монолитными. Пользователь вызывает страницу, а сервер создает страницу, а браузер отображает ее. Здесь автор имеет в виду разбиение такого кода на набор представлений. Таким образом, ваша страница состоит из нескольких частей. И каждая часть обрабатывается и обновляется независимо. Либо одно изменение модели может вызвать серию обновлений для некоторых или всех частей.

По сути, это позволяет вам создавать «настольные» приложения в Интернете. И для этого не нужно прибегать к харам iframe.

Gmail и Google Reader являются хорошими примерами веб-приложений, созданных с использованием составных представлений.

2 голосов
/ 02 февраля 2012

Я создал LayoutManager для Backbone.js, потому что я тоже хотел комбинировать представления.

http://tbranyen.github.com/backbone.layoutmanager/

Дайте мне знать, если этот подход окажется полезным.

0 голосов
/ 26 января 2012

Мне кажется, что автор говорит здесь о серверном коде.Создание системы многократно используемых шаблонов страниц, которые генерируют страницы из общего набора виджетов, фрагментов HTML и т. Д. *

плитки Apache - один из способов сделать это.

...