Я пытаюсь передать из одной директивы (пункты претензии) другую директиву (баннерные точки) при нажатии кнопки «Пункты претензии».угловая трансляция с директивы
<button name="button" claim-points>Claim Points</button>
Я хотел бы, чтобы скрыть этот элемент «Banner Button», пока трансляция не отправляется из директивы претензии-бальной директива баннерных-бальных:
<div name="bannerBtn" banner-points ng-if="isVisible">html from banner-points directive displayed here</div>
Так, по Требованиям точек нажатия кнопки , это становится и пробегает по некоторым данным ... если он находит соответствие, он ретранслирует showbanner
:
angular
.module('myApp')
.directive('claimPoints', ['$rootScope', '$http', function ($rootScope, $http) {
return {
restrict: 'AE',
link: function (scope, elem, attr) {
elem.bind('click', function() {
$http.get('/testJSON/points.json').success(function(data) {
var found = false;
angular.forEach(data.data, function(v, k) {
if (!found) {
if (v.award_name === attr.award) {
found = true;
$rootScope.$broadcast('showbanner', v.points);
}
}
}
);
});
});
}
};
}
]);
вещание должно быть отправлено scope.$on('showbanner
, ... here and set the "Banner Button" attribute
isVisible to true... which should trigger the
ng-if` на кнопку.
angular
.module('myApp')
.directive('bannerPoints', function() {
return {
restrict: '',
templateUrl: '<div>some html I want to display',
link: function (scope, elem, attr) {
attr.isVisible = false;
scope.$on('showbanner', function(e, b) {
attr.isVisible = true;
});
}
};
});
Вещание не происходит.
ле это можно сделать вещи на jsfidle? – bmscomp
Эта директива используется несколько раз на одном html? –
@pankajparkar Нет, он просто используется один раз – Growler