2016-04-20 3 views
1

У меня есть следующий код, но при запуске onChange он дает мне ошибку. (Uncaught TypeError: Невозможно установить свойство 'MYVAR' неопределенных)aurelia observerlocator onchange не находит переменные

import { inject } from 'aurelia-framework'; 
import { ObserverLocator } from 'aurelia-framework'; 

@inject(ObserverLocator) 
export class myClass{ 
    field= ""; 
    myVar = 0; 
    constructor(observerLocator) { 
     this.field= ""; 
     var subscription = observerLocator 
       .getObserver(this, 'field') 
       .subscribe(this.onChange); 

    } 

    onChange(){ 
     this.myVar +=1; 
    } 

} 
+0

Remove '' this' из this.myVar = 0; ', то он должен работать – kabaehr

+0

Благодарю за ваш ответ. Извините, я сделал ошибку, когда создал демонстрационный код. Я получаю эту ошибку (Uncaught TypeError: не могу установить свойство «myVar» неопределенного), когда я изменяю значение поля. – abc

+0

Попробуйте использовать BindingEngine вместо http://stackoverflow.com/questions/28419242/property-change-subscription-with-aurelia –

ответ

0

Это вопрос сфера, просто попробуйте

var subscription = observerLocator 
      .getObserver(this, 'field') 
      .subscribe(this.onChange.bind(this)); 
Смежные вопросы