Modification dynamique du contenu avec la directive AngularJS, l'usine et ng-repeat


super doux

Je travaille sur un widget qui changera dynamiquement son contenu chaque fois que je clique sur un bouton correspondant. J'ai passé une tonne d'heures à comprendre cela mais je ne pouvais pas.

J'ai stocké toutes les données fournies avec l'usine angulaire. Ce que j'aimerais réaliser, c'est que chaque fois que je clique sur un bouton, il déclenche un événement pour saisir une autre propriété, qui est également un autre ensemble de données, dans les données d'usine. Et ceux-ci seront affichés dans la zone de contenu avec ng-repeat.

Je vais joindre mon exemple de code ci-dessous pour votre information. Veuillez laisser tout conseil ou tout concept qui m'aidera à comprendre et à mieux comprendre cela. Merci pour votre temps!

//index.html
<div directive>
 <div class='buttons'>
   <p>Button A</p>
   <p>Button B</p>
   <p>Button C</p>
 </div>
 <div>
  <a ng-repeat='a in data'>{{a.title}} {{a.author}}</a>
 </div>
</div>
//app.js
app.directive('directive', ['factoryData', function(factoryData) {
 return {
  restrict: 'A',
  link: function ($scope, ele, attrs) {
   $scope.data = factoryData.firstProp;
   var btns = $(ele).find('p');
   p.on('click', function () {
    $scope.data = factoryData.secondProp;
    ...
    ...
   });
  },
 };
}]);
ngCoder

Vous devez utiliser $applydans votre directive lorsque vous essayez de lier les nouvelles données à la portée hors du contexte angulaire.

app.directive('directive', ['factoryData', function(factoryData) {
 return {
  restrict: 'A',
  link: function ($scope, ele, attrs) {
   $scope.data = factoryData.firstProp;
   var btns = $(ele).find('p');
   p.on('click', function () {
    $scope.$apply(function() { // use $apply to set the data..in scope
    $scope.data = factoryData.secondProp;
     });
    ...
    ...
   });
  },
 };
}]);

Articles connexes


Directive AngularJs avec contrôleur dynamique et modèle

Hammad Je veux créer une directive qui a une vue dynamique avec un contrôleur dynamique. le contrôleur et la vue modèle proviennent du serveur. La directive var DirectivesModule = angular.module('BPM.Directives', []); (function () { 'use strict'; angu

Modification de la taille du parent de la directive AngularJS

le n00b Problème J'ai une directive simple qui exécute des mises à jour de dimensionnement sur un élément particulier. Cela surveille la taille de la fenêtre et effectue les ajustements en conséquence. MyApp.directive('resizeTest', ['$window', function($window

Test du contenu de la page dynamique angulaire (ng-if) avec Geb

dshgna J'essaye de tester si un élément angulaire ng-if est visible ou n'utilise pas Geb. Jusqu'à présent, j'ai essayé de tester si la propriété affichée est vraie ou fausse comme suit. Angulaire: <article ng-if="!condition" class="bar foo ng-scope">Text to Di

Enregistrer la mise en page AvalonDock avec du contenu dynamique

dmedore J'essaie d'apprendre l'environnement AvalonDock dans WPF. J'ai un volet ancrable qui contient une arborescence qui affiche une liste d'objets (contient essentiellement un nom et une valeur). J'ai également des volets de document qui hébergent un UserCo

Comment créer du contenu dynamique (variable) avec angularjs?

Laszlooo Mon premier problème, je ne sais pas créer un template dynamique en twig avec AngularJs. Le but de mon projet, puis créer une application d'éditeur de page. Donc, tout d'abord: - J'obtiens un fichier JSON dans la structure suivante - J'ai commencé à t

Modification du contenu d'une ligne avec re et recherche

mammifères J'essaye de changer certaines lignes dans un fichier xml. Le code ci-dessous peut changer la balise de titre mais je ne peux pas changer la balise de desc avec re et remplacer. J'essaie de majuscules pour tous les caractères des balises title et des

Ajouter du contenu dynamique avec des éléments d'URL

mscmdaddcts J'ai une question et je me demande si c'est possible. Je souhaite ajouter dynamiquement du contenu dans une page html, en modifiant l'identifiant dans l'URL. Je veux dire, par exemple, je veux ajouter le nom d'une personne à une page Web: Au début,

angularjs et barre de boutons dynamique avec ng-repeat

Marc J'utilise angularjset je souhaite définir dynamiquement une barre de boutons. Quelque chose comme ça: <div class="bar bar-subheader" ng-show="tournament.gameTableCreated"> <div class="button-bar"> <div ng-repeat="category in categories | order

Contenu de la directive dynamique AngularJS

guramidev HTML: <body ng-controller="TestController as _tc"> <h4>Controllers value:</h4> <p>{{_tc.value}}</p> <button ng-click="_tc.addInput()">Add Directive Value</button> <test-directive></test-directive> </body> JS: var app = angular.mod

Chargement de la directive (templateUrls dynamique) dans ng-repeat

Roc Démo Plunker J'ai créé deux directives personnalisées pour l'utilisation du modèle dans un fichier ng-repeater. En dehors du répéteur ng, les directives fonctionnent. Une fois que j'essaye de charger dynamiquement les directives dans a ng-repeater, les dir

filtre dynamique avec contenu dynamique Angularjs

Stéphane Je souhaite appliquer un filtre sur les produits par catégorie mais je ne sais pas comment faire. Ici mon HTML <tr ng-repeat="product in products | filter:search"> Et voici mon filtre: <li role="presentation" ng-repeat="category in categories"> <a

angularjs ng-repeat avec json / object dynamique

Jaison james Je recherche une solution pour la structure de données dynamique (incohérente comme un nom de propriété différent et une longueur de propriété) avec ng-repeat. un exemple de code est ci-dessous. $scope.data = [{ "table":[{ "emp

Contenu du formulaire dynamique Angularjs

swaroop sg Voici ma vue angulaire, <label class="control-label">skipColumns:</label> <br /> <fieldset ng-repeat="skipColumn in config.skipColumns track by $index"> <input type="text" class="form-control" ng-model="skipColumn[0]" /><br /> </fieldset> <button

Luttant avec l'usine de fonction et la fermeture

Jury Après un long moment, j'ai de nouveau joué avec plain JS. Et j'ai du mal à résoudre un problème de fermeture. Tâche : j'utilise une fabrique de fonctions pour définir les paramètres d'une fonction renvoyée que je souhaite ensuite appeler. Problème : pour