2016-08-12 4 views
0

Im new для ES6, Typscript & Aurelia как мой вопрос покажет.Доступ к сервису aurelia внутри настройки плагина jQuery

У меня есть небольшое приложение aurelia, и я хочу использовать selectizejs для функции tagging, но привязываю его к службе, которую я установил в приложении.

Мои viewmodel.ts

attached(){ 
    $('#product_tags').selectize({ 
     delimiter: ',', 
     persist: false, 
     load: function(query, callback) { 
      if (!query.length) return callback(); 
      debugger 
      this.productService.getProductTags().then(response=>{ 
       callback(response); 
      }); 
     }, 
     create: function(input) { 
      return { 
       value: input, 
       text: input 
      } 
     } 
    }); 
} 

В

load:function(...... 

Как получить доступ к моей службе this.productService если поместить точку останова внутри функции, this. не мой ViewModel но selectize плагин.

Должно быть, что-то явно отсутствует, но не могу понять.

ответ

0

Используйте es6 arrow function=>, чтобы получить право this

load: (query, callback) => { 
     if (!query.length) return callback(); 
     debugger 
     this.productService.getProductTags().then(response=>{ 
      callback(response); 
     }); 
    }, 
+0

Потрясающие благодаря @Sylvain я не знаю, о функциях стрелок. Очень круто! –

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