gpt4 book ai didi

javascript - Angular 指令点击函数调用两次

转载 作者:行者123 更新时间:2023-12-04 21:24:44 25 4
gpt4 key购买 nike

下面是两个指令。我的问题是我的第二个指令中的函数 addSectorAttributes 在 project_subtypes.html 的 ng-click 上被触发了两次。

      .directive('projectFilter', function($compile, $timeout){
return {
restrict: 'E',
templateUrl: 'project_filter.html',
link : function(scope,element, attr){
//getting data and fill the html from a service
},
controller: function ($scope) {
$scope.addSubTypes = function (event,id) {
var ex = $(event.currentTarget);

var el = $compile( "<project-subtypes typeid="+id+" class='slide-content'></project-subtypes>" )( $scope );
ex.parent().append(el);

};
}
}
})

.directive('projectSubtypes', function($compile){
return {
restrict: 'E',
scope: true,
templateUrl: 'project_subtypes.html',
link : function(scope,element,attr){
//getting data and fill the html from a service
var id = attr.typeid;
sectorFiltering.getSectorSubTypes(id).success(function(data) {
scope.sector_subtypes = data.sector_subtypes;
});
});
},
controller: function ($scope) {
$scope.addSectorAttributes = function (event,id) {
console.log("teeest"); // called twice.....
};
}
}
})

project_subtypes.html

<li ng-repeat="subtype in substype.subtypes">
<div layout='row' class='load-attributes' ng-click=" addSectorAttributes($event, subtype.id)"></div>
</li>

请帮忙....

最佳答案

如果指令函数调用两次,如果一次没有给你 subtype.id,而下一次如果它给你 subtype.id 那么你只需要在你的指令中添加条件,如下所示。

subtype.id&&addSectorAttributes($event, subtype.id)"

问候,马亨德拉

关于javascript - Angular 指令点击函数调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876900/

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