javascript - 用 d3 以 Angular 放大 svg

标签 javascript angular d3.js svg

我会平移/缩放 svg。

我正在尝试使用 this tutorial 中提到的 d3

这是我的代码:

import { Component,AfterViewInit,OnInit } from '@angular/core';
import * as d3 from "d3";
@Component({
  selector: 'my-app',
  templateUrl: './app.component.svg',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent implements AfterViewInit,OnInit  {
  name = 'Angular';
  ngOnInit() {

  }
  ngAfterViewInit() {
    var svg = d3.select("svg")
      .call(d3.zoom().on("zoom", function () {
       svg.attr("transform", d3.event.transform)
      }))
    .append("g")
  }
}

实际上什么都没有发生,在 svg 上滚动不会缩放

live demo

最佳答案

有合适的解决办法:

var svg = d3.select("svg");
var zoomFn = d3.zoom().on('zoom', function() {
    svg.attr("transform", d3.event.transform)
});    
svg.call(zoomFn);

关于javascript - 用 d3 以 Angular 放大 svg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57327234/

相关文章:

javascript - Angular - 单击时动态将内容加载到 HTML 中

javascript - 试图合并两个数组

javascript - 使用 D3.js 解析上传的 CSV 文件

javascript - d3 线不画

javascript - 使用 javascript 数据填充 Rails 参数

javascript - ngFor 内部的字符串插值(点击)="..."

Angular Material 在与现有功能相同的组件中创建对话框

java - 如何将 Angular 6 项目和 Spring Boot 项目部署为单个部署单元

Angular 2 - 在 session 中存储的便捷方式

javascript - D3.js:从 JSON 数据定义序数轴