首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blazor创建共享组件库

Blazor创建共享组件库
EN

Stack Overflow用户
提问于 2019-07-02 00:20:47
回答 1查看 1.7K关注 0票数 0

我正在研究如何在Blazor中创建一个共享组件库。基本上,我想创建一次我的组件,然后能够在多个UI项目中使用它们。

组件库

我创建了一个简单的组件库,如下所示

代码语言:javascript
复制
dotnet new blazorlib -n UsComponentLibrary.Lib

已创建组件component1.razor

代码语言:javascript
复制
<h3>Component1 from lib</h3>

@code {

}

用户界面

我在ui项目中添加了对该库的引用。已编辑_host.chtml文件以将其包括在内

代码语言:javascript
复制
@page "/"
@namespace UsComponentLibrary.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, UsComponentLibrary.Lib

将其添加到其中一个页面

代码语言:javascript
复制
@page "/counter"

hello

<Component1></Component1>

@code {


}

输出

它唯一显示的是Hello I not text The text from the component in the library。我遗漏了什么?就像ui页面可以看到组件一样,但当我运行它时,它就不在那里了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-02 00:25:57

您需要使用using语句而不是addTagHelper从库项目中导入命名空间。这是预览版4中的一个变化。

我建议您编辑UI项目中的根_Imports.razor文件,并在其中添加名称空间。它应该看起来像这样:

代码语言:javascript
复制
@using UsComponentLibrary.Lib
@using UsComponentLibrary.Lib.Components
@using UsComponentLibrary.Lib.WhatEverOtherNameSpaceYouNeed

同样值得注意的是,Blazor库项目很快就会贬值,而Razor类库将成为Blazor应用程序共享组件的方式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56839072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档