title: d3-ng2-service error "property Links does not exists of type force()"
body: <p>I have just started using Angularjs 2 and d3-ng2-service and I am trying to get a network chart working.</p>
  
  <p>I use example </p>
  
  <p><a href="https://bl.ocks.org/mbostock/2675ff61ea5e063ede2b5d63c08020c7" rel="nofollow noreferrer">https://bl.ocks.org/mbostock/2675ff61ea5e063ede2b5d63c08020c7</a></p>
  
  <p>and transitioning it to d3-ng2-service.</p>
  
  <p>I am getting the following error </p>
  
  <p>"property Links does not exists of type force()"</p>
  
  <p>With the following code</p>
  
  <pre><code>simulation.force("link")
      .links(links);
  </code></pre>
  
  <p>Full code listed below</p>
  
  <pre><code>import { Component, ElementRef, NgZone, OnDestroy, OnInit } from     '@angular/core';
  
  import { links, nodes} from './networkData.component';
  
  import {
    D3Service,
    D3,
    Axis,
    ScaleLinear,
    ScaleOrdinal,
    Selection,
    Simulation,
    Transition
  } from 'd3-ng2-service';
  
  
  @Component({
    selector: 'network1',
    template: '&lt;svg width="100%" height="100%"&gt;&lt;/svg&gt;',
    styleUrls: ['./network.component.css']
  })
  export class Network1Component implements OnInit, OnDestroy {
    private d3: D3;
    private parentNativeElement: any;
    private d3Svg: Selection&lt;SVGSVGElement, any, null, undefined&gt;;
  
  
    constructor(element: ElementRef, private ngZone: NgZone, d3Service: D3Service)    {
      this.d3 = d3Service.getD3();
      this.parentNativeElement = element.nativeElement;
    }
  
    ngOnDestroy() {
      if (this.d3Svg.empty &amp;&amp; !this.d3Svg.empty()) {
        this.d3Svg.selectAll('*').remove();
      }
    }
  
    ngOnInit() {
          let self = this;
      let d3 = this.d3;
      let width: number;
      let height: number;
      let d3ParentElement: Selection&lt;HTMLElement, any, null, undefined&gt;;
      let d3Svg: Selection&lt;SVGSVGElement, any, null, undefined&gt;;
  
  
  
  
      if (this.parentNativeElement !== null) {
  
        d3ParentElement = d3.select(this.parentNativeElement);
        d3Svg = this.d3Svg = d3ParentElement.select&lt;SVGSVGElement&gt;('svg');
  
        width = +d3Svg.attr('width');
        height = +d3Svg.attr('height');
  
        var color = d3.scaleOrdinal(d3.schemeCategory20);
  
        var simulation = d3.forceSimulation()
          .force("link", d3.forceLink().id(function(d) { return d[0].id; }))
          .force("charge", d3.forceManyBody())
          .force("center", d3.forceCenter(width / 2, height / 2));
  
        var link = d3Svg.append&lt;SVGGElement&gt;('g')
          .attr("class", "links")
          .selectAll("line")
          .data(links)
          .enter().append("line")
          .attr("stroke-width", function(d) { return Math.sqrt(d.value); });
  
        var node = d3Svg.append&lt;SVGGElement&gt;('g')
          .attr("class", "nodes")
          .selectAll("circle")
          .data(nodes)
          .enter().append("circle")
          .attr("r", 5)
          .attr("fill", function(d) { return color(d.id); });
  
  
        node.append("title")
          .text(function(d) { return d.id; });
  
        simulation
          .nodes(nodes)
          .on("tick", ticked);
  
          simulation.force("link")
          .links(links);
  
  
      }
  
      function ticked() {
        link
          .attr("x1", function(d) { return d.source; })
          .attr("y1", function(d) { return d.source; })
          .attr("x2", function(d) { return d.target; })
          .attr("y2", function(d) { return d.target; });
  
        node
          .attr("cx", function(d) { return d.id; })
          .attr("cy", function(d) { return d.id; });
      }
  
      function dragstarted(d) {
        if (!d3.event.active) simulation.alphaTarget(0.3).restart();
        d.fx = d.x;
        d.fy = d.y;
      }
  
      function dragged(d) {
        d.fx = d3.event.x;
        d.fy = d3.event.y;
      }
  
      function dragended(d) {
        if (!d3.event.active) simulation.alphaTarget(0);
        d.fx = null;
        d.fy = null;
      }
  
    }
  
  }
  </code></pre>