Skip to content
Simple imgcache.js wrapper for AngularJS
Find file
Latest commit 964b3d8 @jBenes Merge pull request #7 from SidFerreira/patch-1
Fixing missing method on ImgCache api
Failed to load latest commit information.
.gitignore Bower initialized
LICENSE Initial commit
README.md Docs - config section updated
angular-imgcache.js Fixing missing method on ImgCache api
bower.json version changed

README.md

angular-imgcache.js

Simple imgcache.js wrapper for AngularJS, can be user with Ionic/Cordova/Phonegap.

Installation

Install via bower

bower install --save angular-imgcache.js

Link library and dependencies

<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/imgcache.js/js/imgcache.js"></script>
<script src="bower_components/angular-imgcache.js/angular-imgcache.js"></script>

Load module

angular.module('MyApp', [
    'ImgCache'
])

Usage

Configuration

You can override imgcache.js default options in Angulars config section.

.config(function(..., ImgCacheProvider) {

    // set single options
    ImgCacheProvider.setOption('debug', true);
    ImgCacheProvider.setOption('usePersistentCache', true);

    // or more options at once
    ImgCacheProvider.setOptions({
        debug: true,
        usePersistentCache: true
    });

    // ImgCache library is initialized automatically,
    // but set this option if you are using platform like Ionic -
    // in this case we need init imgcache.js manually after device is ready
    ImgCacheProvider.manualInit = true;

    ...

});

If you are using platform like Ionic, you have to init ImgCache manually. Note: you must set ImgCacheProvider.manualInit = true; as in example above.

.run(function($ionicPlatform, ImgCache) {

    $ionicPlatform.ready(function() {
        ImgCache.$init();
    });

});

You can init library manually in other patforms via "deviceready" callback like this:

<body onload="onLoad()">
function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady() {
    ImgCache.$init();
}

(Thx @emps for this note in #1)

Service

Access imgcache.js and its original methods in your components via promise to make sure that imgcache.js library is already initialized

.controller('MyCtrl', function($scope, ImgCache) {

    ImgCache.$promise.then(function() {
        ImgCache.cacheFile('...');
    });

});
Directive

Angular-imgcache.js comes with directive, which first looks into cache for an image. If not present, it downloads image, then stores in cache and uses it.

We can set src of an image with ic-src attribute.

<img img-cache ic-src="{{imgUrl}}" />

Or set elements background-image with ic-bg attribute.

<div img-cache ic-bg="{{imgUrl}}" ></div>
Something went wrong with that request. Please try again.