2016-08-10 2 views
0

Я не знаю, почему я получаю неопределенную ошибку. Это сообщение об ошибке я получаю: «Ошибка типа: Не удается установить свойство„состояние“неопределенных»Неопределенная ошибка Angular 2 class

Это мой код:

export class MobileMenuComponent implements OnInit { 

menu: any; 

constructor() { 


} 

ngOnInit() { 

    this.menu.state = 'inactive'; 

    this.menu.togglemenu = function() { 

     if (this.menu.state === 'inactive'){ 

      this.menu.state = 'active'; 

     } 

     else { 

      this.menu.state = 'inactive'; 

     } 

    } 

} 


} 
+0

Вы объявили меню, но его до сих пор не определен – Noppey

+0

'menu' установлен в' any', но '' any' является undefined'. – TW80000

ответ

1

Определение this.menu, как пустой объект в конструкторе, и он будет работать ,

+0

Спасибо. Просто объявления недостаточно. Отметил. – Dirk

1

this внутри togglemenu функция - для самой функции, она не содержит элемент меню. Вы должны использовать верхнюю внутри функции. Как это:

var that = this; 
this.menu.togglemenu = function() { 
    if (that.menu.state === 'inactive'){ 
      that.menu.state = 'active'; 
     } 
     else { 
      that.menu.state = 'inactive'; 
     } 
    } 
+0

Возможно, это был следующий вопрос:/Спасибо! – Dirk

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