想象一下,左边是表格数据,右边是图表。表数据是有角度的,图表显示在包含在指令中的D3中。整个页面本身就是一个有角度的视图。我点击图表中的特定svg元素,我想滚动并突出显示表格中的相应行。
在控制器端,当click事件发生时,我使用以下代码:
$scope.onChartClick = function (chartNode) {
$location.hash(chartNode.RowID);
$anchorScroll();
}
我遇到的问题是anchrollScroll强制重新加载DOM。无论如何,当它包含哈希时我可以忽略路由吗?这样我就可以使用现有的DOM,只是滚动到特定的TR。
有更好的方法吗?我只想在图表中单击相应的栏时滚动到TR。
答案 0 :(得分:0)
为什么不先添加:
...config(['$locationProvider', function($locationProvider){
$locationProvider.html5Mode(true);
}]);
..这样你就不再拥有URL中的#符号了,你也尝试使用event.preventDefault();删除链接的默认行为并停止刷新页面?