Nano Hash - криптовалюты, майнинг, программирование

Knockout.js с ASP.NET MVC и Razor

Может кто-нибудь объяснить мне, зачем мне использовать Knockout.js с ASP.NET MVC? Проведя некоторые исследования, похоже, что основное использование Knockout.js связано с привязкой данных. Но зачем мне использовать Knockout.js, когда я могу связывать элементы со строго типизированными представлениями и с помощью Razor?

Вместо способа нокаута:

<td data-bind="text: Id"></td>

Разве я не могу просто сделать это с Razor?

<td>@Model.Id</td>

Я вижу, что нокаут теперь включен в MVC 4, но не знаю, как его использовать.

Извините, если об этом уже спрашивали, но я провел поиск на SO, но не нашел ничего, что было бы мне понятно.


  • Одним из преимуществ этого будет снижение нагрузки на сервер и увеличение нагрузки на клиент. Вы можете позволить локальному клиенту обрабатывать все привязки данных или позволить серверу. 16.02.2014

Ответы:


1

В основном фреймворки MVVM js, такие как Knockoutjs, предназначены для использования в одностраничных приложениях, где у вас есть минимум логики на стороне сервера, один обработчик сервера или действие контроллера MVC, если хотите, которые обслуживают некоторый HTML. И вся логика приложения написана на javascript. Есть только вызовы AJAX к службам REST от клиента, и все модели представления живут на клиенте. Сервер отправит клиенту только начальную модель JSON, но все взаимодействие с этой моделью будет происходить на клиенте.

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

15.02.2014
  • Не обязательно SPA. Маршруты могут оставаться на сервере. 09.02.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..