2016-07-21 2 views
-1

- 私はember jsとjavascriptの一般的な新機能です。なぜ私のメソッドがエラーを吐き続けるのかわかりません。taskDatapersonDataの両方が定義されていません。どんなフィードバックも感謝しています!エバーコントローラ内の配列変数

import Ember from 'ember'; 

export default Ember.Controller.extend({ 

    taskData: [], 
    personData: [], 



     actions: { 

      taskData: [], 
      personData: [], 

     saveTask() { 

      var task = this.get("task"); 
      taskData.push(task); 
     }, 

     savePerson() 
     { 
      var person = this.get("person"); 
      personData.push(person); 
     }, 

     print(){ 

      alert(taskData); 
      alert(personData); 
     } 

     } 

}); 
+1

アクションハッシュ内に 'taskData'と' personData'を置くことは何も役に立たないでしょう。削除してください。それから 'this.get( 'taskData')'でそれらを参照する必要があります。また、 'push'ではなく' pushObject'を使います。 –

答えて

0

オブジェクトキーtaskDatapersonDataは、変数が、その後extend関数の引数として渡されるオブジェクトのキーではありません。キーワードthisを使用する必要があります。

import Ember from 'ember'; 

export default Ember.Controller.extend({ 

    taskData: [], 
    personData: [], 



     actions: { 

      taskData: [], 
      personData: [], 

     saveTask() { 

      var task = this.get("task"); 
      this.taskData.push(task); 
     }, 

     savePerson() 
     { 
      var person = this.get("person"); 
      this.personData.push(person); 
     }, 

     print(){ 

      alert(this.taskData); 
      alert(this.personData); 
     } 

     } 

}); 
+0

しかし、(a)必要なときに 'this'を追加せず、(b)不要な' taskData'などをアクションハッシュの中から取り除かなかった。 –

+0

@トラザブロ。 OK、編集しました。 –

+0

いいえ、 'this.get( 'taskData')'などが必要です。 –