gpt4 book ai didi

javascript - 如何在 Angular JS 中单击 Node 时多次调用指令?

转载 作者:行者123 更新时间:2023-12-03 11:33:50 25 4
gpt4 key购买 nike

我正在使用自定义指令来刷新我的页面。我已经用 D3 编码了我的 UI。它是一个由 Node 和链接组成的简单图表。

这就是我正在尝试做的事情。当我单击图形的特定 Node 时,它会扩展到其子图形等。

下面是 Controller

*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>

单击图形 Node 时会调用 device-click。指令是*

vrmUI.directive('expandedView',function(){ 
function link(scope,el,attr){
// Processing when clicked
}
return{
restrict : 'E',
link: link,
scope : {
clickedItem : '=',
onDeviceClick : '&deviceClick'
}
};
});

*

问题:

当我单击一次时,它工作正常,但是当我单击图形的其他 Node 时,我可以看到 $scope.onDeviceClick = function(item){ 内部的控制,但我的指令没有像第一种情况那样被调用。无论如何我可以让这件事发生吗?如果您需要更多详细信息或问题不清楚,请告诉我。

谢谢

最佳答案

尝试将以下行添加到 $scope.onDeviceClick 函数的开头:

$scope.loadExpandedView=false;
$scope.showExpandedView=false;

关于javascript - 如何在 Angular JS 中单击 Node 时多次调用指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26617959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com