J'ai un grand formulaire Web que j'ai construit (plus de 100 champs) et je souhaite ajouter Angularjs pour permettre aux utilisateurs de saisir le formulaire et d'exécuter JavaScript pour stocker le modèle angulaire dans une base de données. Il est clair que je ne veux pas envoyer de données à la base de données à chaque fois que l'utilisateur modifie une infime pièce de données, de sorte que je souhaite utiliser la directive Je ne veux vraiment pas appliquer une énorme quantité d'angulaire à chaque Merci! P> Options de modèle CODE> pour dire angulaire de tirer uniquement sur une
updateon code> après 500ms ou plus. p>
$ ("entrée"). SetDirective () code> ou somesuch chose s'il existait. Je me rends compte que je pense que je pense à cela d'une manière de type JQuery, alors je suis intéressé à entendre la manière «appropriée» de manière angulaire d'appliquer le même ensemble de directives à chaque élément de mon DOM qui correspond à un sélecteur. P>
3 Réponses :
Vous pouvez simplement créer une directive pour démo: http://jsfiddle.net/zjdscakc/ p> p>
Et pour éviter un appel inutile, utilisez une propriété d'objet comme modèle NG, comme celui-ci: NG-Model = "Storage [Nom de terrain]". Ajoutez une surveillante sur le stockage de votre contrôleur et si les données ont changé, définissez le changeFlag sur true. Dans votre SETTITimeOUT - Si vous souhaitez utiliser un -, vérifiez si un changement ajoute et, s'il est vrai, lancez votre requête XHR et réinitialisez le changeFlag :) de cette façon, vous allez appeler le serveur uniquement en cas de besoin.
C'est génial, il me montre comment "sélectionner" toutes les balises code> code>; Mais je ne vois toujours pas comment ajouter une directive à ce
ng-modèle = attributs.name.name code> à la totalité des balises code> code> code>, comment puis-je ajouter ce
ng-modèle code > Directive à la balise maintenant que je l'ai sélectionnée?
Je ne sais pas si cela est possible ... Mais vous avez accès à l'élément d'entrée (deuxième argument dans lien code> Fonction), où vous pouvez ajouter l'écouteur d'événements pour
Onchange code> événement (
élément.on ("Modifier", fonction () {...}); code>) et faites votre travail sans reliures de données ...
Peu de modification à @bodzio Réponse
js strong> p> var app = angular.module('app', []);
app.directive('input', function() {
return {
restrict: 'E',
link: function (scope, element, attributes) {
// filter the element using attributes
if (attributes.type === "text" && attributes.name) {
element[0].value = "It works!";
}
}
};
});
C'est génial, il me montre comment "sélectionner" toutes les balises code> code>; Mais je ne vois toujours pas comment ajouter une directive à ce
ng-modèle = attributs.name.name code> à la totalité des balises code> code> code>, comment puis-je ajouter ce
ng-modèle code > Directive à la balise maintenant que je l'ai sélectionnée?
Si votre problème est résolu, pouvez-vous le marquer comme une réponse :) Ou laissez-moi savoir le problème que vous rencontrez.
J'ai pensé qu'il y avait une question similaire posée, je ne savais tout simplement pas comment la chercher: Ajouter des directives de la directive en angularjs . En utilisant cela comme mon modèle, j'ai compris comment appliquer de nouvelles directives à tout contenant une directive personnalisée. Je n'ai pas pu comprendre comment l'appliquer à toutes les balises
Saveme code> à tous mes