2016-12-30 14 views
0

PreloadJS 'コールバック関数では、スコープを失っています。矢印機能などのさまざまな方法を試したことがあります(最高レベルなどでは有効ではありません...)どのようなヒント?(このコードエディタには慣れ親しんでいる作業コードが...)ES6、PreloadJSとスコープ

import Navigation from './Navigation' 
import ajax from "./Ajax"; 
import Helper from "./Helper"; 

let preload = null; 

export default class Page{ 

    constructor(){ 
     this.preload = new createjs.LoadQueue(); 
     this.preload.addEventListener("fileprogress", this.handleFileProgress); 
     this.preload.addEventListener("fileload", this.handleFileComplete); 

    } 



    initPage(_arg = []){   
     this.buildPage(this.thePage); 
    } 


    buildPage(_content){ 
     this.loadImage(item.featured_image_thumbnail_url); 

    } 

    handleFileComplete(event){  

     console.log(event); 
     console.log(this); // undefined 

     let el = document.getElementById('heroImage'); 
     let loader = el.getElementsByClassName('loader')[0]; 
     this.showPage(); // cannot read property showPage of undefined 

    } 

    // small arrow test, doesn't seem valid 
    //handleFileComplete = (event) =>{ 
    // this.showPage(); 
    //} 

    handleFileProgress(event){  
     let hero = document.getElementById('heroImage') 
     let loader = hero.getElementsByClassName('loader')[0]; 
    } 

    loadImage(_img){  

     let el = document.getElementById('heroImage'); 
     let loader = el.getElementsByClassName('loader')[0]; 

     let loadManifest = [ 
      { 
      id: 'pat', 
      src: _img, 
      scope: this 
      }];  

     this.preload.loadManifest(loadManifest, true); 
    } 

    showPage(){ 
     //Helper.removeClass(document.getElementById('mytest','hidden')); 
    }  

} 

答えて

0

でわずか5分後に[OK]を、更新....

は変数として矢印機能をAdddedとイベントリスナーへの上にあることを可決した。これは私の好みではありませんしかし、それは動作しますが...

おそらくこれは誰でも手助けすることができます。

もっと良い方法があるかどうかはまだ分かりませんが...

関連する問題