2012-10-24 29 views
7

Đây là lần đầu tiên tôi gặp sự cố và không thể tìm ra lý do. Tôi đang sử dụng d3 để tạo một icicle chart. Có một sự kiện nhấp đang kích hoạt và gọi hàm changePath(). Tôi thấy giao diện điều khiển có nghĩa là tôi có quyền truy cập vào $ location.path nhưng khi tôi cố gắng đặt nó không có gì xảy ra ... không phải trang mới không phải là trang lỗi ... Nếu tôi không thay đổi đường dẫn qua góc router của tôi sẽ không duy trì phạm vi đó là những gì tôi đang tìm kiếm ... bất kỳ manh mối nào?

 
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

Xin chào, tôi nghĩ bạn sẽ tìm thấy câu trả lời cho câu hỏi của mình trong câu hỏi này: [AngularJS $ location không thay đổi đường dẫn] (http://stackoverflow.com/questions/11784656/angularjs -định vị-không thay đổi-đường dẫn) – groner

+0

Ah! cảm ơn bạn rất nhiều! Tôi đã thử áp dụng nhưng cú pháp của tôi không chính xác. Nhiều đánh giá cao! Bạn muốn thêm câu trả lời này làm câu trả lời để tôi có thể đánh dấu câu trả lời là chính xác? – climboid

Trả lời

1

OCD sẽ không để tôi để câu hỏi này 'mở'. Vì vậy, như groner chỉ ra ... Xin chào, tôi nghĩ bạn sẽ tìm thấy câu trả lời cho câu hỏi của mình trong câu hỏi này: AngularJS $location not changing the path

Ngoài ra, một chút quảng cáo giá trị. Kiểm tra các chỉ thị này bọc d3 http://www.fullscale.co/dangle/

+0

cảm ơn rất nhiều câu trả lời của bạn @ digger60 – climboid

Các vấn đề liên quan