angular.js - Angular 中用ng-repeat搞的列表项,我想点击其中一个列表项就将改项隐藏改怎么做
怪我咯
怪我咯 2017-05-15 16:49:24
0
2
912
<tr ng-repeat = "app in apps" ng-hide = "">
            <td>
                <a  data-uk-modal="{target:'#{{app._id}}'}">{{app.name}}</a>
            </td>
            <td>{{app._id}}</td>
            <td>{{app.author}}</td>
            <td>{{appCategoryMap[app.category].name}}</td>
            <td>
                <a  class="uk-button uk-button-danger" ng-click  = "underCarriage(app._id)">下架</a>
            </td>

        </tr>

ng-hide里面应该怎么去写,如果写入变量的话,全部的列表项都是同一个ng-hide变量无法隐藏单个

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(2)
phpcn_u1582

Veuillez décrire soigneusement votre problème, afin que les autres prennent votre problème au sérieux.

Vous voulez simplement cliquer sur "Supprimer" et cette ligne disparaîtra du tableau. En fait, si vous supprimez un enregistrement dans les données, le mécanisme de liaison de AngularJS mettra automatiquement à jour l'interface, et cette ligne disparaîtra automatiquement. Pas besoin d'utiliser ng-hide.

Il vous suffit de bien mettre en œuvre underCarriage(app._id) :

controllers.controller('SFTestCtrl', ['$scope', function($scope) {
  $scope.apps = [
    {
      _id: 0,
      name: 'test',
      author: 'test',
      category: 'test'
    },
    {
      _id: 1,
      name: 'test1',
      author: 'test1',
      category: 'test1'
    },
    {
      _id: 2,
      name: 'test2',
      author: 'test2',
      category: 'test2'
    }
  ];

  $scope.appCategoryMap = {
    test: {
      name: 'test'
    },
    test1: {
      name: 'test1'
    },
    test2: {
      name: 'test2'
    }
  };

  $scope.underCarriage = function(id) {
    $scope.apps.forEach(function(v, i, _) {
      if (v._id == id) {
        _.splice(i, 1);
      }
    });
  };

}]);

Mon test local peut obtenir l'effet.

Peter_Zhu

Ajoutez un attribut masqué aux applications pour enregistrer s'il est masqué

http://jsfiddle.net/larvata/1wr2bfLs/

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal