2016-06-29 4 views
0

ich ein Diagramm in AngularJSLeinwand Kartenhöhen AngularJS

Dies ist der Teil meiner HTML-Code für das Diagramm machen möchten:

<div style="overflow: auto;"> 
    <div id="parentDivChart" style="{{changeWidth()}}; height:350px;"> 
     <canvas id="bar" class="chart chart-bar" chart-data="datta" chart-labels="labels" chart-legend="true"> 
     </canvas> 
    </div> 
</div> 

und dies ist mein Controller für die Funktion changeWidth():

Die Idee ist, dass ich in der Lage bin, die Breite dynamisch zu ändern, entsprechend den Daten, die ich erhalte. Alles gut mit, aber wenn ich meine Höhe auf 350px fixiere, erbt mein Canvas diesen Wert nicht und stattdessen dehnt sie meinen Canvas und setzt einen Wert für seine Höhe, der nicht geeignet ist. Könnte mir jemand dabei helfen? Warum erbt die Zeichenfläche nicht die Höhe der übergeordneten divs, aber sie erbt die Breite, die sich ändert. Wie lege ich eine feste Höhe für die Leinwand fest?

Vielen Dank im Voraus!

+0

ist Ihre Frage nicht klar. – Anubhav

Antwort

0

Zusammen mit elem.style.width = $scope.Values.length*20 +"px"; auch verwenden.

Dies liegt daran, das Canvas-Element auf der Breite hängt Attribut und nicht die Breite Stil für die Breite der Zeichenfläche.

Reference

+0

aber wenn ich eine feste Höhe festlege, berücksichtigt das das nicht. Stattdessen gibt es einen zufälligen Wert und mein Diagramm wird nicht korrekt angezeigt. – blaa

+0

Haben Sie den obigen Code versucht? – Anubhav

+0

ja, aber die Höhe ändert sich nicht zu dem Wert ich gebe es – blaa