2012-10-24 3 views
7

Dies ist das erste Mal, dass ich das Problem stelle und nicht herausfinden, warum. Ich verwende d3, um eine icicle chart zu erstellen. Es gibt ein Klickereignis, das changePath() auslöst und aufruft. Ich sehe das Konsolenprotokoll, was bedeutet, dass ich Zugriff auf $ location.path habe, aber wenn ich versuche, es zu setzen, passiert nichts ... keine neue Seite, keine Fehlerseite, nichts ... Wenn ich die Pfade nicht über angular ändere Mein Router wird nicht den Bereich behalten, nach dem ich suche ... irgendwelche Hinweise?

 
var parentCtrl = function($scope,$location){ 

$scope.makeBSC = function(){ 

     var changePath = function(el){ 
      console.log($location.path()); 
      $location.path(el) 
     } 
     var width = 405, 
      height = 420, 
      color = d3.scale.category20c(); 

     var vis = d3.select("#bscChart").append("svg") 
      .attr("width", height) 
      .attr("height", width); 

     var partition = d3.layout.partition() 
      .size([width, height]) 
      .value(function(d) { return d.size; }); 

     var json = data; 


     vis.data([json]).selectAll("rect") 
      .data(partition.nodes) 
      .enter().append("rect") 
       .attr("y", function(d) { return d.x; }) 
       .attr("x", function(d) { return d.y; }) 
       .attr("height", function(d) { return d.dx; }) 
       .attr("width", function(d) { return d.dy; }) 
       .attr("class",function(d){ 
       if(d.isSel) return "rectBlue" 
       return "rectGray" 
       }).on("click", function(d){ 
       changePath(d.goTo); 
     }); 
    } 
} 
+1

Hallo, ich denke, dass Sie die Antwort auf Ihre Frage in dieser Frage finden werden: [AngularJS $ Speicherort nicht den Pfad ändern] (http://stackoverflow.com/questions/11784656/angularjs -location-not-changing-the-path) – groner

+0

Ah! ich danke dir sehr! Ich habe versucht, zu bewerben, aber meine Syntax war falsch. Sehr geschätzt! Sie möchten das als Antwort hinzufügen, damit ich es als richtig markieren kann? – climboid

Antwort