0
我正在使用自定义指令刷新我的页面。我用D3编写了我的UI。它是由节点和链接组成的简单图形。如何在Angular JS的节点点击多次调用指令?
这是我正在做的。 当我点击图形的特定节点时,它会展开到它的子图形等等。
对于此以下是控制器
*vrmUI.controller('CompleteViewController', function($scope,$location, $rootScope, $route) {
// Assigning data
// onDeviceClick is called when node of graph is clicked.
$scope.onDeviceClick = function(item){
$rootScope.pageContextObject = $route.current.data;
$scope.clickedItem=item;
$scope.completeObject =//JSON Data
$scope.loadExpandedView=true;
$scope.showExpandedView=true;
};*
});
相应的HTML是
<div class="content-panel clearfix">
<div id="topoheader" style="font:12px sans-serif"></div>
// expandedView directive should get called when ever control goes inside onDeviceClick.
<expanded-view ng-show="showExpandedView"
ng-if="loadExpandedView" clicked-rack="clickedItem" network-data="completeObject"
device-click="onDeviceClick(item)"></expanded-views>
</div>
</div>
设备点击被称为上点击的图的节点。 和指导是 *
vrmUI.directive('expandedView',function(){
function link(scope,el,attr){
// Processing when clicked
}
return{
restrict : 'E',
link: link,
scope : {
clickedItem : '=',
onDeviceClick : '&deviceClick'
}
};
});
*
问:
当我点击一次,它完美的作品,但是当我点击图中的其他节点,我可以看到控制$ scope.onDeviceClick里面去= function(item){但我的指令没有像第一种情况那样被调用。无论如何,我可以做到这一点?请让我知道,如果你需要更多的细节或问题不清楚。
感谢