2014-12-12 5 views
0

내 응용 프로그램을 안드로이드 에뮬레이터로 에뮬레이션하면 CordovaLog에서 오류가 발생합니다 메쏘드 setOptions in undefined.In 내 Chrome 브라우저에 문제가 없지만 내가 그것을 모방 할 때 결과가 좋지 않다, 내 모든 볼 수는 있지만 그것의 일부를로드하지 않고안드로이드에 내 응용 프로그램을 에뮬레이트 할 때 각도 캐시의 setOptions 메소드를 호출 할 수 없습니다.

(function() { 

'use strict'; 
angular.module('EventList').factory('EventApi', [ '$http', '$q', '$ionicLoading', 'DSCacheFactory', EventApi]); 

function EventApi($http, $q, $ionicLoading, DSCacheFactory) 
{ 
    var AllEventCache = DSCacheFactory.get("AllEventDataCache"); 


    AllEventCache.setOptions({ 
     onExpire: function (key, value) { 
      getAllEvents() 
      .then(function() { 

       console.log("Automatically refreshed"); 

      }, function() { 
       console.log("Error putting Expired data"); 

       AllEventCache.put(key, value); 
      }); 
     } 

}); 


})(); 

.run(function ($ionicPlatform, DSCacheFactory) { 
    $ionicPlatform.ready(function() { 
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
// for form inputs) 
     if(window.cordova && window.cordova.plugins.Keyboard) { 
    cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
    } 
    if(window.StatusBar) { 
    // org.apache.cordova.statusbar required 
    StatusBar.styleDefault(); 
    } 

     var AllEventCache = DSCacheFactory("AllEventDataCache", { storageMode:  "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" }); 

    }); 
    }) 

답변

3

내가 생각 내가 setOptions을 정의 할 수 있습니다 또는 왜 정의되지 않는다 어떻게 사람이 말해 work.Can하지 않습니다 해결책을 가져라. iOS에서 동일한 문제가 발생합니다 (Localhost에서 작동하지만 xcode에서 빌드하면 작동하지 않습니다 ... 안드로이드 상황과 거의 동일합니다). 결합 된 시간처럼 Chrome에서 새로 고침하면 동일한 오류가 표시됩니다. 문제는

, 당신은 당신의 공장으로

DSCacheFactory("AllEventDataCache", { storageMode:  "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" }); 

을 넣어해야합니다. 대신 (? 당신의 app.js 내가 가정 파일에서) 실행에 AllEventCache을 정의하는, 그것을 꺼내이처럼 공장의 js 파일에 직접 정의 :뿐만 아니라

angular.module('EventList').factory('EventApi', [ '$http', '$q', '$ionicLoading', 'DSCacheFactory', EventApi]); 

function EventApi($http, $q, $ionicLoading, DSCacheFactory) 
{ 

DSCacheFactory("AllEventDataCache", { storageMode:  "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" }); 
var AllEventCache = DSCacheFactory.get("AllEventDataCache"); 


AllEventCache.setOptions({ 
    onExpire: function (key, value) { 
     getAllEvents() 
     .then(function() { 

희망 당신을 위해이 일 :)