Comment voulez-vous mettre à jour un élément existant dans Angulaire Tableau (qui a changé de l'extérieur)?
Je suis nouveau sur Angulaire et je suis aux prises avec mise à jour d'un élément existant dans mon Angulaire tableau qui a changé à l'extérieur (pas via Angulaire alimenté de l'INTERFACE utilisateur).
Est ici le cas d'utilisation...Ma page web est rempli par l'intermédiaire d'un serveur d'appel côté et je suis le chargement du tableau dans Angulaire et l'affichage sur une liste.
Maintenant, si les données sur le serveur change et qu'un nouvel enregistrement est inséré dans la table, ma page JavaScript est avisé et il réussi à insérer un nouvel enregistrement à la Angulaires tableau via de 'push' (Réf. Par programme de l'insertion de tableau de valeurs en Angular JS).
Cependant, ma page est également notifié lorsqu'un enregistrement est modifié (sur le côté serveur /pas via Angulaire alimenté de l'INTERFACE utilisateur). Je dessine un vide sur comment puis-je faire la mise à jour de l'enregistrement correct dans mon Angulaire tableau? Est-il une requête /méthode de mise à jour que j'ai manqué dans l'angle de docs?
Voici ce que mon code ressemble à...
//The HTML UI updates to reflect the new data inserts.
<div ng-repeat="item in items">
<p class="priority">{{item.priority_summary}}</p>
<p class="type">{{item.type}}</p>
</div>
Voici le Script...
var app = angular.module('DemoApp', []);
<!-- Define controller -->
var contrl = app.controller("MainController", function ($scope) {
$scope.items = [{
"status": "New",
"priority_summary": "High"
}, {
"status": "New",
"priority_summary": "High"
}, {
"status": "New",
"priority_summary": "High"
}, {
"status": "New",
"priority_summary": "High"
}];
//The insert works fine. The question is how do I do an update if the notification is for an update, and not for insert.
$scope.addItem = function(item)
{
alert("addItem called");
$scope.items.push(item);
$scope.item = {};
}
$scope.subscribe = function(){
//Code for connecting to the endpoint...
alert("event received"); //We receive this alert, so event is received correctly.
$scope.items.push({
status: 'New',
priority_summary: 'H'
});
$scope.$apply();
}
//calling subscribe on controller initialization...
$scope.subscribe();
Des suggestions ou des exemples qui mettent en lumière ce serait génial. Merci!
Je suis capable d'insérer de nouveaux éléments, mais je ne suis pas sûr de savoir comment puis-je mettre à jour les éléments du tableau. Le typique filtre Angulaire semblent être orientées vers l'INTERFACE utilisateur, alors que je suis en train de faire le changement dans la matrice de l'élément lui-même. Cela fait-il sens?
pouvez-vous obtenir l'index de données, vous devez mettre à jour ?
Oui, je l'ai mentionné que. J'ai un Id unique pour chaque enregistrement dans le JSON que je reçois. Dois-je viens de parcourir le tableau comme on le fait normalement, ou est-il Angulaire de la méthode qui les rend faciles?
Je pense que si vous avez besoin de la il suffit de remplacer les données mises à jour avec les bonnes données dans le tableau...aussi comme de je sais que cela doit être fait par vous-même qu'il n'y a rien comme de la requête de mise à jour ...oui, il peut être fait à l'aide de l'id unique
OriginalL'auteur DevIntern | 2014-05-27
Vous devez vous connecter pour publier un commentaire.
Je suis en supposant que vous pouvez récupérer l'index de données que vous souhaitez mettre à jour.
Donc, vous pouvez essayer.
Ce qui me manque, je ne comprends pas pourquoi dataList[index] = newItem n'est pas la réponse?
OriginalL'auteur Paras
OriginalL'auteur chovy
Angulaire vue de mettre à jour automatiquement lors de son changement de modèle, donc pas besoin de faire quelque chose de plus, juste la mise à jour de votre modèle dans le contrôleur pour l'ex-
et à votre avis
pour la mise à jour de vos données, vous devriez avoir une unique paire clé-valeur(u_id dans ce cas) comme ci-dessous exemple de code
angulaire de fournir à 2 voies de la liaison de données, de sorte que lorsque vous mettez à jour votre modèle, votre avis sera rendu par de nouvelles données.
Peut-être que je ne suis pas d'expliquer correctement. Mon Angulaire du modèle dispose de 50 articles et le 35e changé externe à la page web. À ce stade, j'ai besoin de trouver la 35e élément et de le mettre à jour. Ma question est de comprendre comment je peux trouver de la 35e élément et de le mettre à jour. Typique Angulaire des méthodes telles que Push, Pop, etc. sont inserts, pas de mises à jour. Ne fait que préciser? Merci.
vous pouvez poster la structure de tableau d'objets/ objets des objets selon ce que vous utilisez ?
votre serveur de renvoyer uniquement les données mises à jour ou toutes les données? et la méthode que vous utilisez pour récupérer des données
OriginalL'auteur Jeetendra Chauhan