Ich bin neu in angularjs. Ich habe eine div # single Ich möchte die Hintergrundfarbe ändern und dann Back-End-Server auf dem Click-Ereignis aufrufen. Ich weiß nicht, wie das in angularjs benutzerdefinierte Richtlinie zu tun. Jede Hilfe wird b, meine HTML-Code geschätztWie registriere ich click event in Direktive in angularjs
<div id="single" class="" ng-style="{'background':x.is_read == 0 ?
'rgba(98, 95, 95, 0.87)': '#A4A4A4'}" ng-repeat="x in notification" chang-color>
changColor Richtlinie ist, die Code verfolgt haben. Bitte helfen Sie mir, wie diese Sie sollten element.bind
statt element.on
var app = angular.module('smac', []);
app.controller('asd',function ($http,$scope) {
app.directive("changColor", function() {
return {
restrict: 'A',
scope: {},
link: link
};
function link (scope, element) {
element.on('click', onClick);
}
function onClick() {
alert('as');
$(this).css({ 'background': '#A4A4A4' });
// after this back end call
}
});
});
Die Direktive erstellt einen Isolationsbereich, der die Variable 'notification' in der 'ng-Wiederholung' isoliert. Auch die Stiländerungen in der benutzerdefinierten Direktive konkurrieren mit der 'ng-Stil'-Direktive. – georgeawg
Sie sagen, ich habe bereits die Implementierung der ng-Klasse und wiederhole die Direktive, damit ich keine weitere Direktive anwenden kann? @georgeawg – Asad
Sie können Direktiven für dasselbe Element kombinieren, aber Sie müssen vermeiden, dass die Bereiche Konflikte haben. Siehe [AngularJS Comprehensive Directive API - Umfang] (https://docs.angularjs.org/api/ng/service/$compile#-scope-). – georgeawg