【问题标题】:How to pass a class name in angular from component.ts to html SVG如何将 Angular 中的类名从 component.ts 传递到 html SVG
【发布时间】:2019-05-17 08:30:57
【问题描述】:

我正在使用 d3 创建图表,每个图表都必须有一个唯一的 id。

所以我需要使用类似的东西:

<svg class="{{className}}"></svg>

className 在 component.ts 中定义 但这不起作用

当我对值进行硬编码时它可以工作,但是当我在值中传递类名时它不起作用

【问题讨论】:

    标签: javascript angular svg


    【解决方案1】:

    class="{{className}}" 不是在 Angular 2 + 中将数据绑定到模板的正确方法。并打开你的控制台,看看你得到了什么错误。

    您应该阅读 Angular 文档:https://angular.io/api/common/NgClass

    使用<svg [ngClass]="className"></svg> 应该适合你。

    检查这个:Angular 2 add value to ngClass with interpolation 如果您想了解更多有关 ngClass 和插值的信息。 检查这一点:https://angular.io/guide/displaying-data 了解如何以正确的方式使用插值。

    【讨论】:

    • 感谢您的回答,但不幸的是 [ngClass] 不适用于 SVG。它不会加载图像图表,并且在控制台上也没有显示错误。
    • @MinaMounir,你用什么浏览器?如果您需要 IE10+ 支持,您可以添加 Polyfill 以支持 SVG 上的 ngClass。你试过谷歌浏览器,它工作正常吗?
    • 我用 chrome 和 IE 进行了测试,但它们不起作用。我想提一下 SVG 是由 d3 库生成的,所以我不确定在调用它之前是否应该先编译它。我所知道的是,当我对它工作的类名进行硬编码时,当动态分配时它不会
    猜你喜欢
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多