Ich verwende angular-nvd3 zum Chartieren in meiner Anwendung. Ich habe eine benutzerdefinierte Direktive erstellt, um die Optionen der Direktive zu übergeben, anstatt sie im Controller zu setzen.AngularJS Direktiven - Verknüpfen von Attributwert mit Bereichseigenschaft
Ausblick:
<nvd3-bar-chart></nvd3-bar-chart>
Richtlinie
angular.module('app.graphs')
.directive('nvd3BarChart',
function() {
return {
restrict: 'E',
replace: true,
template: '<nvd3 options="nvd3_options" data="bar_data" api="api"></nvd3>',
link: function(scope) {
scope.nvd3_options = {
chart: {
type: 'discreteBarChart',....
Die bar_data Eigenschaft wird in der Steuerung gesetzt und das Diagramm funktioniert gut. Ich möchte jedoch die Direktive wiederverwenden, um an verschiedene Dateneigenschaften im Controller zu binden.
So etwas wie das. Verknüpfen der Datenattribut auf dem benutzerdefinierten Richtlinie über die Vorlage im Wesentlichen
//Temperature data would be set in controller
<nvd3-bar-chart data="temperature_data"></nvd3-bar-chart>
//Precipitation data would be set in controller
<nvd3-bar-chart data="precipitation_data"></nvd3-bar-chart>
Dank
Danke für die Antwort, als ich es versuchte, gab es mir den Fehler = Mehrere Anweisungen [nvd3BarChart (Modul: app.graphs), nvd3] fragt nach neuen/isolierten Bereich – ganeshran
Allerdings wenn ich das Markup zu nvd3-bar-chart> ohne das datenattribut in der template zu setzen, es funktioniert einwandfrei. aber einen neuen Rahmen setzen und auf einem Parameter basierend Ersetzen nicht funktioniert –
ganeshran
ich meine Antwort – Laurianti