Концепция ViewModel все еще существует в Blazor? - PullRequest
0 голосов
/ 14 мая 2019

После ответа на этот вопрос о том, применима ли все еще ViewModel в MVC Core, я теперь сталкиваюсь с аналогичным вопросом в Blazor.

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

В прошлом я работал с React и Redux и нашел большую ценность в наличии единого местоположения для всего штата, особенно для целей модульного тестирования.

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

У меня вопрос: должна ли эта модель представления быть отдельным классом, или секция @functions файла бритвы Blazor фактически является моделью представления? Должен ли я просто использовать это вместо этого?

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Блок @functions в Blazor выполняет те же функции, что и Razor Pages.Вы можете определить свои объекты в блоке @functions, создать их экземпляр и использовать их и т. Д. Блок @functions - это то, что мы называем «кодом позади».Полагаю, вы все это знаете, верно?

В настоящее время нет формальных лучших практик, поскольку Blazor все еще находится в стадии предварительной разработки.Лучшие практики требуют длительного опыта сообщества.Вы можете следить за примерами, созданными командой Asp.Net, чтобы получить представление о том, как развиваться в Blazor.Например, создание класса StateApp, ответственного за управление состоянием компонентов и т. Д. В настоящее время необходимо использовать свой опыт и знания для стилизации своего приложения.Например, создайте папку, в которой будут содержаться объекты модели и т. Д., Например, определите класс модели Customer, а затем используйте его в блоке @functions и в других местах.Короче говоря: пока нет лучших практик в Blazor.

Надеюсь, это поможет ...

0 голосов
/ 20 мая 2019

После того, как я задал этот вопрос, я наткнулся на превосходный пример Blazz Pizzas Blazor-Workshop команды Microsoft Blazor *. Этот пример использует подход, основанный на состоянии, аналогично подходу, который частопринятый в React при использовании Redux или других подходов, основанных на Flux.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...