【问题标题】:Moving blazor components to a shared components project将 Blazor 组件移动到共享组件项目
【发布时间】:2021-07-11 16:42:57
【问题描述】:

我正在尝试将我的 blazor 服务器连接到 blazor wasm。我们已经开发了该项目的一个很好的部分,但我们还是想搬家。疑点来了。我创建了一个组件项目以便能够共享它们,但我也在尝试将页面移动到那里,现在路由什么也没得到,只得到了索引中的内容,仅此而已。 我如何让我的应用程序知道它应该从 .components(blazor 组件库)下的项目中呈现页面,而不是在 .cliente(blazor 服务器项目)下呈现页面

【问题讨论】:

  • 如果您愿意,可以在服务器和 WASM 模式下运行您的 SPA - 搜索“Blazor AllInOne”,您应该会找到我的一篇文章的链接,该文章描述了如何在同一个网站。

标签: blazor blazor-server-side .net-5


【解决方案1】:

我假设您对这 3 个项目有结构:

  • ClientWasm -> 您的索引页所在的项目以及您想要使用组件的位置
  • Components -> 带有组件的项目(<Project Sdk="Microsoft.NET.Sdk.Razor"> 类型)
  • ClientServer -> 旧 Blazor 服务器项目

现在。如果要使用位于Components 中的ClientWasm 中的组件,则必须在ClientWasm 中添加对组件的引用

如果您有带有路由的页面(在Components 中),您需要在ClientWasm 中添加额外的程序集:

@*App.razor in ClientWasm project*@
<Router AppAssembly="@typeof(Program).Assembly"
            AdditionalAssemblies="new[] { typeof(Components.SomePage).Assembly}">

【讨论】:

  • 我遇到的问题是我在组件项目中有一些带有路由的页面。它没有被选中,有没有办法让它工作?
  • 对不起,代码错误(现在修复)。当然,您必须从组件项目中添加其他程序集。这将使组件项目中的页面正常工作。
猜你喜欢
  • 2020-03-25
  • 2021-02-20
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
相关资源
最近更新 更多