首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何实现idea Blazor全局变量?

如何实现idea Blazor全局变量?
EN

Stack Overflow用户
提问于 2021-09-18 15:18:41
回答 1查看 290关注 0票数 1

我真正的问题是:我为web-app创建了帮助文档,我可以将它部署到其他域。在开发环境中,我使用localhost,但在生产环境中,我使用真正的子域。

我有很多这样的页面

代码语言:javascript
复制
<DxToolbar>
    <DxToolbarItem Text="New" Click="@OnAddNewClick" IconCssClass="grid-toolbar-new" />
    <DxToolbarItem Text="Edit" Click="@OnEditClick" IconCssClass="grid-toolbar-edit" Enabled="@Enabled" />
    <DxToolbarItem Text="Delete" Click="@OnDeleteClick" IconCssClass="grid-toolbar-delete" Enabled="@Enabled" />
    <DxToolbarItem Text="Filter" Click="@OnShowFilterRow" IconCssClass="grid-toolbar-filter-row" />
    <DxToolbarItem Text="Help" NavigateUrl="http://example.com/help/group1/feature001/" IconCssClass="grid-toolbar-document" target="_blank" />
    <DxDataGridColumnChooserToolbarItem Text="Choose columns" Tooltip="Choose columns" />
</DxToolbar>

在其他页面中

代码语言:javascript
复制
<DxToolbarItem Text="Help" NavigateUrl="http://example.com/help/group1/feature003/" IconCssClass="grid-toolbar-document" target="_blank" />

代码语言:javascript
复制
<DxToolbarItem Text="Help" NavigateUrl="http://example.com/help/group2/feature005/" IconCssClass="grid-toolbar-document" target="_blank" />

我想使用像这样的东西

代码语言:javascript
复制
@base_help_url//help/group1/feature001/
@base_help_url//help/group1/feature003/
@base_help_url//help/group2/feature005/

以及如何/在何处设置@base_help_url

如何实现这一理念?

EN

回答 1

Stack Overflow用户

发布于 2021-09-19 01:34:32

步骤1.将@base_help_url存储在AppSettings文件中,然后选择在options类中对其进行配置。

代码语言:javascript
复制
//AppSettings.Development.json
{
  "HelpUriBase": "..."
}

步骤2.创建一个公开方法string GetBaseUri();的接口IHelpUri,然后在派生类中实现该接口。

代码语言:javascript
复制
public class HelpUri : IHelpUri
{
    private readonly string _helpUriBase;

    public HelpUri(IConfiguration configuration)
    {
        _helpUriBase = configuration.GetSection("HelpUriBase");
    }

    public string GetBaseUri => _helpUriBase;
}

步骤3.创建包装DxToolbarItem组件并具有[Parameter] string Path的(Blazor)组件。

代码语言:javascript
复制
// HelpLink.razor
@inject IHelpUri HelpUri

<DxToolbarItem NavigateUrl="@Uri" />

@code {

  [Parameter] public string Path { get; set; }

  private string _helpUriBase;

  protected string Uri => $"{_helpUriBase}/{Path}"

  protected override async Task OnInitializedAsync()
  {
      _helpUriBase ??= HelpUri.GetBaseUri();
  }
  
}

步骤4.在创建帮助链接时,使用HelpLink组件而不是DxToolbarItem组件。

代码语言:javascript
复制
<HelpLink Path="help/group1/feature001/" />
<HelpLink Path="help/group1/feature003/" />
<HelpLink Path="help/group2/feature005/" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69235941

复制
相关文章

相似问题

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