MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

एनजी-अगर इसे चाहिए से अधिक बार बुलाया जा रहा है

आपका ng-if हर डाइजेस्ट लूप पर कॉल किया जाएगा। समस्या यह है कि इसमें एक फ़ंक्शन कॉल शामिल अभिव्यक्ति है। कोणीय के पास यह जानने का कोई तरीका नहीं है कि अभिव्यक्ति का परिणाम कब बदल सकता है, इसलिए वह इसे हर बार कॉल करता है।

एक बेहतर विकल्प यह होगा कि प्रत्येक चैनल में एक झंडा लगाया जाए और संबंधित ध्वज का परीक्षण करने के लिए एनजी-इफ का उपयोग किया जाए। फिर आपको बस जब भी $scope.activeCategory . झंडे को अपडेट करना होगा परिवर्तन जो आप या तो उस कोड के साथ कर सकते हैं जहां आपने श्रेणी निर्धारित की है या $scope.$watch() . का उपयोग कर रहे हैं इसे स्वचालित रूप से ट्रिगर करने के लिए।

उदा.

$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;
  }
}

फिर अपने टेम्पलेट में:

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

अधिक कुशल होना चाहिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:गिनना कि प्रत्येक विशिष्ट मान कितने हैं?

  2. NoRM . के साथ MongoDB में आलसी लोडिंग

  3. स्प्रिंग डेटा MongoDB - $eq $project समर्थन के भीतर

  4. GCP क्लस्टर से VPC पीयरिंग का उपयोग करके Mongo Atlas से कनेक्ट नहीं हो सकता

  5. नेवला $in . के साथ सरणी ढूंढता है