angularjs - Angular use $cacheFactory data in controller -


i hava prodcache service used cache products array.

... var products = prodcache.get('all'); if(typeof products == 'undefined'){     products = product.query();     prodcache.put('all',products); } 

if put products on scope products shown expected, need few products shown.
try:

$scope.related = (function(){     var res = [];     if(products.length>0){         (var = 0, key; < 3; i++) {             key = math.floor(math.random() * products.length);             res.push(products[key]);         }     }     return res; })(); 

that function wont work first time because xhr request being processed , returned data not reactive.

the proper way use filters docs here , here.

assuming filter wrote mock, , need complex filter, have create filter function @ $scope , reference @ ng-repeat expression:

$scope.isrelated = function isrelatedfilter(item) {   // if return true, item included.   return item.someproperty === 'somecriteria'; } 
<span ng-repeat="product in products | filter:isrelated">...</span> 

the somecriteria $scope/controller property or defined service. if need custom parameters, can't use filter filter , should create own. take @ docs.


Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -