10

私がこの問題に直面するのはこれが初めてであり、その理由を理解することはできません。
d3を使用してつららチャートを作成しています。
を起動して呼び出しているクリックイベントがありますchangePath()。コンソールログが表示されます。これは、アクセスできることを意味します$location.pathが、設定しようとしても何も起こりません。新しいページでも、エラーページでも、何もありません。

角度を介してパスを変更しないと、ルーターは私が探しているスコープを維持できません。
手がかりはありますか?

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

$ scope.makeBSC = function(){

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

        var vis = d3.select( "#bscChart")。append( "svg")
            .attr( "幅"、高さ)
            .attr( "高さ"、幅);

        var partition = d3.layout.partition()
            .size([幅、高さ])
            .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 dx;})
              .attr( "x"、function(d){return dy;})
              .attr( "height"、function(d){return d.dx;})
              .attr( "width"、function(d){return d.dy;})
              .attr( "class"、function(d){
                if(d.isSel)return "rectBlue"
                「rectGray」を返す
              })。on( "click"、function(d){
                changePath(d.goTo);
         });
     }
}
4

1 に答える 1

2

OCDは私にこの質問を「開いたまま」にさせません。だから、gronerが指摘したように...こんにちは、私はあなたがこの質問であなたの質問への答えを見つけると思います:AngularJS$locationはパスを変更しません

また、少し価値のある広告。d3をラップするこれらのディレクティブをチェックしてくださいhttp://www.fullscale.co/dangle/

于 2013-02-27T15:53:18.277 に答える