2013-08-09 1 views
2

Я застрял в течение 4 дней, так что это продолжается!PreloadJS + Typcript

Пожалуйста, ссылки PreloadJS Определения:

https://github.com/borisyankov/DefinitelyTyped/blob/master/preloadjs/preloadjs.d.ts

От линии 26.

Мой вопрос, как вы addEventListener в машинописи, а также связывая его с областью класса?

себе представить (полу psudo):

class Test 
{ 
    private _loader:createJS.AssetLoader; 

    constructor() 
    { 
      this._loader = new createJS.AssetLoader(); 
      this._loader.addEventListener(???????????); 
      this._loader.load(); 
    } 

    onLoadComplete(???): ??? 
    { 

    } 
} 
+1

Это должно быть полезно для понимания 'this' https://www.youtube.com/watch?v=tvocUcbCupA&hd=1 – basarat

ответ

3

Использование машинопись 0.9.1.0:

class Test 
{ 
    private _loader: createJS.AssetLoader; 

    constructor() 
    { 
      this._loader = new createJS.AssetLoader(); 
      this._loader.addEventListenerthis.onLoadComplete); 
      this._loader.load(); 
    } 

    onLoadComplete =() => 
    { 
     console.log(this.whatever); 
    }; 
} 

Важная часть здесь, используя синтаксис инициализации члена (member = value) для onLoadComplete и используя толстую стрелку lambda выражение (() => { ... }) для функции. Это правильно зафиксирует контекст this в обратном вызове.

+0

Просто повторить то, что уже упоминал Райан. Этот синтаксис - * new * - 0.9.1. Так что вам нужна хотя бы эта версия – basarat

 Смежные вопросы

  • Нет связанных вопросов^_^