cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Gunakan ng-repeat untuk mencipta item senarai dalam Angular Saya mahu menyembunyikan item dengan mengklik pada salah satu item senarai.

<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>

Bagaimana untuk menulis dalam ng-hide Jika anda menulis pembolehubah, semua item senarai akan menjadi pembolehubah ng-hide yang sama tidak boleh menyembunyikan satu

怪我咯怪我咯2777 hari yang lalu944

membalas semua(2)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-15 16:51:24

    Sila terangkan masalah anda dengan teliti, supaya orang lain akan mengambil serius masalah anda.

    Anda hanya mahu mengklik "Alih Keluar" dan baris ini akan hilang daripada jadual. Malah, jika anda memadamkan rekod dalam data, mekanisme pengikatan AngularJS akan mengemas kini antara muka secara automatik dan baris ini akan hilang secara automatik. Tak perlu guna ng-hide.

    Anda hanya perlu melaksanakan underCarriage(app._id) dengan baik:

    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);
          }
        });
      };
    
    }]);
    

    Ujian tempatan saya boleh mencapai kesannya.

    balas
    0
  • 天蓬老师

    天蓬老师2017-05-15 16:51:24

    Tambahkan atribut tersembunyi pada apl untuk merakam sama ada ia tersembunyi

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

    balas
    0
  • Batalbalas