带重载事件的孤立范围

时间:2015-05-22 11:14:34

标签: javascript angularjs

我实际上正在创建一个指令,允许我生成一些图形,其中一些参数采用以下格式:

<div anomalie-graph idsite="{{site._id}}" sector="true" controlleur="" anomalie=""
                     datedebut="dateDebutStats"
                     datefin="dateFinStats">

<div anomalie-graph idsite="{{site._id}}" sector="" controlleur="" anomalie="true"
                     datedebut="dateDebutStats"
                     datefin="dateFinStats">

此指令正确显示我需要的内容。 问题是我想重新加载这个指令中的数据。

事实上,我使用的是:

  $scope.$on('reload', function () {
                reload();
            });

指令控制器内部。

现在我已经用

隔离了我的范围
return {
            restrict: 'EAC',
            templateUrl: 'tpl/directive/TraitementAnomalieGraphDirective.html',
            controller: controller,
            scope: {
                idsite: '@',
                sector: '@',
                controlleur: '@',
                anomalie: '@',
                datedebut: '@',
                datefin: '@'

            }
        };

我无法听取范围事件(因为它已被隔离),我不想使用$ scope。$ broadcast。

在范围隔离之前,它对侦听器事件起作用很好。问题是我无法在视图中多次使用此库...

你能帮助我吗?

编辑:

这是我的代码:

模板:

<div class="row">
            <div class="col-md-4">
                <div anomalie-graph idsite="{{site._id}}" sector="true" controlleur="" anomalie=""
                     datedebut="dateDebutStats"
                     datefin="dateFinStats">
                </div>
            </div>

            <div class="col-md-4">
                <div anomalie-graph idsite="{{site._id}}" sector="" controlleur="true" anomalie=""
                     datedebut="dateDebutStats"
                     datefin="dateFinStats">
                </div>
            </div>


        </div>

这是指令:

angular.module(&#39;应用&#39;)     .directive(&#39; anomalieGraph&#39;,function(){

    var controller = ['$scope', '$attrs', 'srv_traitementsVoirie', function ($scope, $attrs, srv_traitementsVoirie) {


        var load = function () {
            // code of reload
        };

        load();

        $scope.$on('reload', function () {
            load();
        });

    }];

    return {
        restrict: 'EAC',
        templateUrl: 'tpl/directive/TraitementAnomalieGraphDirective.html',
        controller: controller,
        scope: {
            idsite: '@',
            sector: '@',
            controlleur: '@',
            anomalie: '@',
            datedebut: '=',
            datefin: '='

        }
    };
});

0 个答案:

没有答案