Angular: D3.js рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдореЗрдВ рд╢реИрд▓рд┐рдпрд╛рдБ рдХреЛрдгреАрдп 2 рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдорд╛рд░реНрдЪ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/angular

рдореИрдВ рдХреЛрдгреАрдп 2 рдФрд░ D3.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВ рдПрдХ рд▓рд╛рд▓ рдЖрдпрдд рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред

рдпрд╣ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдореИрдВ рд╕реНрдЯрд╛рдЗрд▓ рдХреЛ рд╕реНрдЯрд╛рдЗрд▓.рд╕реАрдПрд╕рдПрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реВрдВред рдЗрд╕ рдкреНрд▓рдВрдХрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рдЬрдм рдореИрдВ рдЕрдкрдиреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдШрдЯрдХ styles: [] рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд▓рдВрдХрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВред

import {Component} from 'angular2/core'
@Component({
  selector: 'my-app',
  providers: [],
   styles: [`
    /*this does not work*/
    .bar {
      fill: red;
    }
  `],
  template: `
    <div>
      <svg class="chart"></svg>
    </div>
  `,
  directives: []
})
export class App {
  constructor() {}

  ngOnInit() {
    this.draw();
  }

  draw() {
    let data = [{name: 'A', value: 1}];
    let width = 400, height = 200;

    let x = d3.scale.ordinal().rangeRoundBands([0, width]);
    let y = d3.scale.linear().range([height, 0]);

    let chart = d3.select(".chart")
      .attr("width", width)
      .attr("height", height)
      .append("g");

    x.domain(data.map(function(d) { return d.name; }));
    y.domain([0, d3.max(data, function(d) { return d.value; })]);

    chart.selectAll(".bar")
      .data(data)
      .enter().append("rect")
      .attr("class", "bar")
      .attr("x", function(d) { return x(d.name); })
      .attr("y", function(d) { return y(d.value); })
      .attr("height", function(d) { return height - y(d.value); })
      .attr("width", x.rangeBand());
  }
}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╡рд╣ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╣реИред рдХреЛрдгреАрдп рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╡рд░реНрдЧ рдирд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЬреЛрдбрд╝реЗ рдЧрдП рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдЙрди рдШрдЯрдХреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред

рдбреА3 рдПрдВрдЧреБрд▓рд░ рдЬреНрдЮрд╛рди рдХреЗ рдмрд┐рдирд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдВрдЧреБрд▓рд░ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдПрдЪрдЯреАрдПрдордПрд▓ рдкрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ HTML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдгреАрдп рднреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

encapsulation: ViewEncapsulation.None рдХреЗ рд╕рд╛рде рдХреЛрдгреАрдп рдпрд╣ рдкреБрдирд░реНрд▓реЗрдЦрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо HTML рдХреЛ index.html рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдк рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рд╢реИрдбреЛ рдкрд┐рдпрд░реНрд╕рд┐рдВрдЧ CSS рдХреЙрдореНрдмрд┐рдиреЗрдЯрд░ >>> , /deep/ рдФрд░ ::shadow рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рднреА рджреЗрдЦреЗрдВ http://stackoverflow.com/a/36225709/217408

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡рд╣ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╣реИред рдХреЛрдгреАрдп рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╡рд░реНрдЧ рдирд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЬреЛрдбрд╝реЗ рдЧрдП рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдЙрди рдШрдЯрдХреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред

рдбреА3 рдПрдВрдЧреБрд▓рд░ рдЬреНрдЮрд╛рди рдХреЗ рдмрд┐рдирд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдВрдЧреБрд▓рд░ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдПрдЪрдЯреАрдПрдордПрд▓ рдкрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ HTML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдгреАрдп рднреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

encapsulation: ViewEncapsulation.None рдХреЗ рд╕рд╛рде рдХреЛрдгреАрдп рдпрд╣ рдкреБрдирд░реНрд▓реЗрдЦрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо HTML рдХреЛ index.html рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдк рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рд╢реИрдбреЛ рдкрд┐рдпрд░реНрд╕рд┐рдВрдЧ CSS рдХреЙрдореНрдмрд┐рдиреЗрдЯрд░ >>> , /deep/ рдФрд░ ::shadow рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рднреА рджреЗрдЦреЗрдВ http://stackoverflow.com/a/36225709/217408

@zoechi рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж !! рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ!

рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, @zoechi рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ

рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдкрдиреЗ рдЖрдк рд▓реЙрдХ рд╣реЛ рдЧрдИ рд╣реИред
рдпрджрд┐ рдЖрдк рд╕рдорд╛рди рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реЗрдВред

рд╣рдорд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рд▓реЙрдХрд┐рдВрдЧ рдиреАрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред

_рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдХрд┐рд╕реА рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреА рдЧрдИ рд╣реИред_

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

nosachamos picture nosachamos  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

robwormald picture robwormald  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wardbell picture wardbell  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wangzilong picture wangzilong  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

igorzg picture igorzg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ