2016-08-10 17 views
0

なぜ私は定義されていないエラーが発生するのか分かりません。これは私が取得エラーメッセージが表示されます。「例外TypeError:未定義の設定はできませんプロパティ 『状態』」定義されていないエラー角度2クラス

は、これは私のコードです:

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機能 - 機能自体のため、メニューメンバーは含まれていません。機能の中では、上にthisを使用してください。このように:

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

これはおそらく私の次の質問になるだろう:/ありがとう! – Dirk

関連する問題