dynamiquement ajouter un élément à la angularjs ng-repeat
J'ai une directive qui génère un glisser/déposer réorganisables liste avec ajouter et supprimer des fonctionnalités. Si vous cliquez sur dans le récipient, une entrée est ajoutée dynamiquement, vous tapez et quand vous tapez une virgule, la valeur que vous avez tapé est poussé dans la liste utilisée avec ng-repeat pour créer la liste. (Doit être un peu familier pour les utilisateurs de ce site 🙂 )
Cela fonctionne impressionnant lorsque l'objet initial de la sauvegarde, il n'est pas null. Mais quand l'objet commence null et que vous essayez d'ajouter le premier élément (par la détection de la valeur null et la portée.$appliquer l'initialisation)le balisage n'est pas généré.
Ici est un plunk pour montrer ce que je veux dire.
http://plnkr.co/edit/Momlgpfy82kHRPwXGR8V?p=preview
Dans mon application, les données proviennent d'une source externe, donc je ne peux pas garantir la non-null listes. Comment puis-je obtenir angulaire de répondre correctement à l'initialisation de tableau (et plus tard push)?
- Pourquoi ne pouvez-vous pas mis la liste initiale de
[]
au lieu denull
? - oui, j'ai effectivement déjà...s'est avéré être un bug dans la façon dont la directive a été accéder à la liste...j'ai vraiment besoin de
eval("scope." + attrs.draggableList) instead of
champ d'application[attrs.draggableList] - Vous ne voulez certainement pas à utiliser
eval
que ce n'est pas sûr. Essayezscope.$eval(attrs.draggableList)
à la place: docs.angularjs.org/api/ng.$rootScope.Portée. Mais gardez à l'esprit que ce n'est pas une liaison bidirectionnelle et il ne sera pas mise à jour si vous modifiez la liste à l'extérieur de la directive. Votre directive devrait utiliser$observe
et un isolat de la portée. - Merci pour la suggestion, j'ai fait l'eval de changement comme vous l'avez suggéré, et il fonctionne pour ce que j'ai besoin qu'il ne devrait pas y avoir de changements externes à la liste.
Vous devez vous connecter pour publier un commentaire.
Liste de tableau vide...whenevr un nouvel élément est poussé dans le tableau angulaire auditeurs de mise à jour de la directive
http://plnkr.co/edit/h3GOpTX6Chh1wjcM9QrV?p=preview