[英]Blazor create shared component library
我正在尝试找出如何在Blazor中创建共享组件库的方法。 基本上,我想一次创建我的组件,然后能够在多个UI项目中使用它们。
我创建了一个简单的组件库,如下所示
dotnet new blazorlib -n UsComponentLibrary.Lib
创建了一个组件component1.razor
<h3>Component1 from lib</h3>
@code {
}
我在ui项目中添加了对该库的引用。 编辑了_host.chtml文件以包含它
@page "/"
@namespace UsComponentLibrary.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, UsComponentLibrary.Lib
将其添加到页面之一
@page "/counter"
hello
<Component1></Component1>
@code {
}
它唯一显示的是Hello,我不是从库中的组件获取文本。 我想念什么? 就像ui页面一样,它可以看到该组件,但是当我运行它时,它不存在。
您需要using
而不是addTagHelper
语句从库项目中导入名称空间。 这是预览版4带来的更改。
我建议您在UI项目中编辑根_Imports.razor
文件,并在其中添加名称空间。 它看起来应该像这样:
@using UsComponentLibrary.Lib
@using UsComponentLibrary.Lib.Components
@using UsComponentLibrary.Lib.WhatEverOtherNameSpaceYouNeed
还值得注意的是,Blazor库项目将很快折旧,而Razor类库将成为共享Blazor应用程序组件的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.