В чем разница между Pages и Shared и можем ли мы использовать разные папки? - PullRequest
3 голосов
/ 29 мая 2020

Я просматриваю и все еще изучаю Blazor, но я не могу понять одну вещь - почему есть подготовленные папки «Pages» и «Shared» и в чем разница?

  • Что такое разница между страницами и общим доступом? а также
  • Где мы храним наши пользовательские элементы управления?

1 Ответ

2 голосов
/ 29 мая 2020

Страницы и компоненты, по сути, одно и то же, за исключением того, что на странице есть одна или несколько директив @page, определяющих, какой URL-адрес может использоваться для их отображения.

Директива @page будет преобразована в * Атрибут 1005 * в классе компонента, который создается из вашего файла razor.

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

То же самое верно и для компонентов. Причина, по которой они могут быть помещены в папку Shared по умолчанию, заключается в том, что /_Imports.razor содержит @using YouAppName.Shared. Если вы хотите разместить свои компоненты в других пространствах имен, вы можете

  1. Добавить пространство имен в файл _Imports.razor
  2. Добавить @using WhateverNamespace в верхнюю часть потребляющей страницы / компонент.
  3. Включить пространство имен в разметку <WhateverNamespace.SomeComponent/>

https://blazor-university.com/routing/defining-routes/

...