manipolazioni DOM in angularjs non dovrebbe essere in controllo, servizi, ecc ... Ma dovrebbe essere in un solo posto direttive ...
se si vuole manipolare un DOM è necessario utilizzare direttiva e rendere la vostra manipolazione in là ...
ecco alcuni buoni articoli su manipolazioni DOM in angularjs ...
Best Practice - Dom Manipulations
DOM Manipulation in AngularJS — Without jQuery
ora proviamo a creare una direttiva come si desidera. Sembra che tu voglia manipolare l'elemento selezionandoli tramite la loro classe. Ok non è un problema così abbiamo bisogno di creare una direttiva che ha restrict:'C'
significa CLASSE ...
qui è la nostra dichiarazione di direttiva ... (versione dettagliata per mostrare tutto)
app.directive('myClass',function(){
// Runs during compile
return {
// name: '',
// priority: 1,
// terminal: true,
// scope: {}, // {} = isolate, true = child, false/undefined = no change
// controller: function($scope, $element, $attrs, $transclude) {},
// require: 'ngModel', // Array = multiple requires, ? = optional,^= check parent elements
restrict: 'C', // E = Element, A = Attribute, C = Class, M = Comment
// template: '',
// templateUrl: '',
// replace: true,
// transclude: true,
// compile: function(tElement, tAttrs, function transclude(function(scope, cloneLinkingFn){ return function linking(scope, elm, attrs){}})),
link: function($scope, iElm, iAttrs, controller) {
console.log('Here is your element', iElm);
// DO SOMETHING
}
};
});
qui è PLUNKER. ..
Si dovrebbe passare attraverso [? __How faccio a “pensare in AngularJS” se ho uno sfondo jQuery __] (http://stackoverflow.com/questions/14994391/how- in primo luogo, do-i-think-in-angularjs-if-i-have-a-jquery-background). – Satpal