Сегодня я искал библиотеку JavaScript для нокаута и ее функции. Теперь я хочу использовать это с приложениями MVC 3, но Каковы преимущества использования этого с MVC 3?Каковы основные преимущества библиотеки скриптов java для нокаута с MVC 3
ответ
Нокаут - это шаблон MVVM, который работает с javascript ViewModel. Причина, по которой это хорошо работает с MVC, заключается в том, что сериализация в и из javascript-моделей в JSON очень проста.
Также он будет включен в состав MVC4. Вот видео по Knockout создателю о том, как использовать его для отдельных приложений, страниц в MVC4 (с новой функцией Web API от Microsoft):
http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159
Но преимущества действительно что MVVM позволяет разрабатывать богатые UI, с гораздо меньшим количеством кодирования (если вы знакомы с Silverlight или WPF MVVM, вы поймете, что я имею в виду).
Учитывая ViewModel из:
var myViewModel = { myValue: 'some text' };
Вам не нужно связывать
$('#textBox').change(function() { myViewModel.myValue = $(this).val(); })
и реверс
$('#textBox').val(myViewModel.myValue)
повсюду, или специальную обработку кода вычисленных свойств в вашем представлении в Knockout. Вы можете сделать все это очень красиво объектно-ориентированным способом.
<input type="text" data-bind="value: myValue" />
И все события подключены.
Преимущества перечислены здесь - http://knockoutjs.com/documentation/introduction.html
В ПРЕИМУЩЕСТВА более структурированы, гибкий Клиентский JavaScript код. Вы можете разделить лучший пользовательский интерфейс и можете зайти так далеко, что в итоге вы получите «одностраничный сайт» ... , который выполняет только запросы json (если вы хотите), означает, что меньшее количество обращений к серверу меньше отвечает и т.д ...
И для меня действительно круто думает, это связывание с помощью наблюдаемых ...
http://knockoutjs.com/documentation/observables.html
Также проверьте это: MVC + Knockoutjs = Клиент стороны MVVM блаженство http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2378
Преимущества являются многочисленные, некоторые выдающиеся характеристики приведены ниже:
- Целесообразность для подключения в любое время с элементами пользовательского интерфейса в модели данных.
- Сложные и динамические модели данных.
- Средства привязки данных при манипулировании хранящимися данными, отражающие его в пользовательском интерфейсе, и обновление пользовательского интерфейса с регулярными изменениями бэкэнд, если они есть.
- Поддерживает управляемую событиями модель программирования и предлагает 100% -ную настройку.
- Поддерживает IE, Firefox, Safari, Bing, Chrome и многие другие основные потоки браузеры.
- Помогает избежать раздувания HTTP-диалога с презентационной логикой и презентацией разметки на сервере.
- Он обеспечивает применение бизнес-правил, защиту данных и управление ими на веб-странице .
- Он также предлагает ссылочную целостность и многие проверки функции в отношении рабочего процесса для дополнительной безопасности.
- Knockoutjs предлагает выдающуюся расширяемость. Он имеет множество точек расширения и утилит для создания приложения.
Вы можете прочитать здесь из нашей статьи https://cynere.com/advantages-of-knockoutjs
Большое спасибо Paul за быстрый ответ. Да, я знаю MVVM в WPF, но все же я не могу найти каких-либо особых преимуществ в приложении MVC, так как предположим, что у меня есть 10 свойств в моей модели, и теперь мне нужно создать те же 10 свойств, что и Model, также привязать данные. Так почему я делаю дополнительный код? –
Немедленные изменения в пользовательском интерфейсе при изменении данных. Если вам не нужны «как-живые» обновления, вам не нужен нокаут – soniiic
ok. поэтому это означает, что если кто-то изменит мои данные, тогда пользовательский интерфейс будет автоматически обновлять значения без какого-либо запроса на сервер? –