Angular 4 与美人鱼 js 兼容?

标签 angular typescript mermaid

<分区>

我正在寻找图表 Javascript 库来为我的 Angular 项目创建某种顶级动态框图。谁能告诉我是否mermaid与 Angular 4 兼容吗? 另外请让我知道是否还有其他好的图表库可供使用。谢谢!

最佳答案

它非常易于使用。

  1. 将美人鱼添加到您的项目中:npm i mermaid
  2. 在你想使用mermaid的 View 中,import mermaid并调用init方法

例子:

import { Component, OnInit } from "@angular/core";
import * as mermaid from "mermaid";

@Component({
    selector: "MermaidTest",
    template: `
        <div class="mermaid">
            graph LR
            A-->B
        </div>`
})
export class MermaidTest implements OnInit {    

    public ngOnInit(): void {
        mermaid.initialize({
            theme: "forest"
        });
    }
}

在这种情况下,您必须转义 {.如果您碰巧将图形内容作为字符串,则可以改用 mermaidAPI:

import { AfterContentInit, Component, ViewChild } from "@angular/core";
import * as mermaid from "mermaid";

@Component({
    selector: "MermaidTest",
    template: `<div #mermaid></div>`
})
export class MermaidTest implements AfterContentInit {

    @ViewChild("mermaid")
    public mermaidDiv;

    public ngAfterContentInit(): void {
        mermaid.initialize({
            theme: "dark"
        });

        const element: any = this.mermaidDiv.nativeElement;
        const graphDefinition = "graph TB\na-->b";
        mermaid.render("graphDiv", graphDefinition, (svgCode, bindFunctions) => {
            element.innerHTML = svgCode;
        });
    }
}

有关详细信息,请参阅 https://mermaidjs.github.io/#/mermaidAPI

关于Angular 4 与美人鱼 js 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46455523/

相关文章:

javascript - RxJS zip 在 forkJoin 时不起作用

angular - 组件不是任何 NgModule 的一部分,或者该模块尚未导入到您的模块中

Angular `<router-outlet>` 显示模板两次

javascript - 带有计算属性名称的 Typescript setState

html - 我无法在 gitlab 的 wiki 功能中将超链接添加到美人鱼流程图

angular - 在 Angular 中手动打开特定 URL 时正确设置事件选项卡

javascript - 如何使用 Node 快速测试嵌套 bool 值的存在和值?

javascript - 关闭 popover 后刷新页面内容。 ionic 3

r - 美人鱼图断线

promise - docsify 中的美人鱼返回 [Object Promise]