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

标签 javascript jquery angularjs node.js angularjs-directive

我正在使用自定义指令来刷新我的页面。我已经用 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/

相关文章:

python - 使用 Angularjs 发送 POST 请求并在 Flask 后端获取参数

Javascript 无法读取未定义的属性 'x'

javascript - 使用 jQuery 在同一模式中创建和更新表单

javascript - 将 Jquery 移动设备重定向到新页面并触发该页面中的功能?

javascript - jQuery:函数的一部分未执行

javascript - 在我的 Controller 中,我有名为 "chiliClick"的函数。为什么不调用呢?

css - KendoTreeView 和 AngularJS : icons are not displayed

在任何情况下都运行代码的Javascript switch case?

javascript - 悬停时(或不悬停)隐藏元素的 jQuery 目标父级

javascript - 插入 HTML 或附加 Child onClick,并从上一个单击的元素中删除