我实际上正在创建一个指令,允许我生成一些图形,其中一些参数采用以下格式:
<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: '='
}
};
});