2016-09-26 4 views
2

Я пытаюсь написать контроллер, как это:Как вручную запустить переваривать в угловом компоненте

export default class someServiceCtrl{ 
 

 
    constructor(someService) { 
 
     this.someService= someService; 
 
     this.$isEditable = false; 
 
     this.options = {}; 
 
     this.items=[]; 
 
     this.emptyData = true; 
 
    } 
 

 
    switchIsEditable(){ 
 
     this.$isEditable = !this.$isEditable; 
 
     if(this.$isEditable){ 
 
      angular.element(document).on('keydown', function (e){ 
 
       if(e.keyCode === 27 || e.keyCode === 31){ 
 
        this.$isEditable = false; 
 
       } 
 
      }.bind(this)); 
 
     } 
 
    } 
 

 
    dialogGotBlurred(){ 
 
     this.$isEditable = false; 
 
    } 
 
} 
 

 
someServiceCtrl.$inject = ['someService'];

Но $ IsEditable никогда не меняется. Я застрял в этой точке.

Как заставить его работать?

Спасибо.

ответ

0

Способ, которым я смог заставить это работать, - ввести $rootScope и позвонить по телефону $rootScope.$digest(). Не самое изящное решение, но оно должно позволить вам делать то, что вы хотите.

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