MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

ng-jika dipanggil lebih dari yang seharusnya

ng-if . Anda akan dipanggil pada setiap loop intisari. Masalahnya adalah itu berisi ekspresi yang melibatkan pemanggilan fungsi. Angular tidak memiliki cara untuk mengetahui kapan hasil ekspresi mungkin berubah, jadi ia memanggilnya setiap saat.

Opsi yang lebih baik adalah menyetel tanda di setiap saluran dan menggunakan ng-if untuk menguji tanda yang relevan. Maka Anda hanya perlu memperbarui bendera setiap kali $scope.activeCategory perubahan yang dapat Anda lakukan dengan kode tempat Anda menyetel kategori atau menggunakan $scope.$watch() untuk memicunya secara otomatis.

misalnya

$scope.setCategory = function (name) {
  $scope.activeCategory = name;
  for (var index=0; index < $scope.channels.length; index++) {
      $scope.channels[index].hasCategory = hasCategory($scope.channels[index].category, name);
  }
};

function hasCategory(categoryNameArray, name) {
  console.log('thisisbeingcalled');
  var e = _.indexOf(categoryNameArray, name);
  if (e === -1) {
    return false;
  } else {
    return true;
  }
}

Kemudian di template Anda:

<md-card flex="15" flex-xs="40" class="slide-up" layout="column"
    ng-repeat="channel in channels | orderBy: 'number' | filter: queryname"
    ng-if="channel.hasCategory"
    ng-init="channel.edit = false">
  <md-card-header ng-show="channel.edit == false">
    <img ng-src="{{channel.logo}}" alt="">
  </md-card-header>
  <md-card-header-text ng-show="channel.edit == false">
    <span class="md-subhead dark-blue" layout="row" layout-align="center" layout-margin>{{channel.number}}</span>
  </md-card-header-text>
</md-card>

harus lebih efisien.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Berbagi di MongoDB

  2. Mengindeks array objek di MongoDB

  3. 8 Cara Mendapatkan Hari dari Kencan di MongoDB

  4. Bagaimana cara memperbarui database MongoDb di Jawa?

  5. mongodb $match operasi di $lookup untuk membandingkan objectId tidak berfungsi seperti yang diharapkan