C’est donc mon entrée select2
où dans tagOptions
est
{ data: [{"id":301,"text":"tag2"},{"id":302,"text":"tag2"},{"id":303,"text":"tag3"},{"id":304,"text":"tag4"}], multiple: true, createSearchChoice: function(term) { var timestamp = new Date().getTime(); return {id: timestamp, text: term, new: true}; } }
et ProjectTagpr
est
[301, 304];
qui rend select2 avec les balises tag1, tag4
et transforme ProjectTagpr
en
[{"id":301,"text":"tag2"},{"id":304,"text":"tag4"}]
Maintenant, la première question Puis-je faire en sorte qu’il conserve la structure ProjectTagpr
origine (juste un tableau d’identifiants, au lieu d’object avec à la fois id et text)?
Et la deuxième question Si j’ajoute une nouvelle balise, par exemple newtag5
, cela élargirait ProjectTagpr
avec quelque chose comme {id: 1554894854, text: 'newtag5', new: true}
, maintenant, lorsque j’appuie sur save et j’aime bien $ http pour mettre à jour les data
origine sur le select2, de sorte qu’il ajoute le newtag5 à cet emplacement (bien sûr, renvoyé avec l’id de la firebase database et sans ce new: true
), comment procéderais-je?
J’ai essayé de faire $scope.tagOptions.data = dataReturnedFromHttp;
mais cela évidemment (ou pas) n’a pas fonctionné ..
C’est en fait assez simple
data: function() { return {'results': $scope.data}; }
alors c’est à peu près lié en direct.
C’est juste que c’est en quelque sorte non documenté, que vous pouvez transmettre des données à une fonction.