2017-03-24 12 views
0

Emberを初めて使用しています。再利用可能なコードの場所を正確に理解することに問題があります。これまで私が見つけたことから、これはユーティリティと思われるように聞こえますか?唯一の問題は、クラス(または再利用可能なメソッド)をコントローラーに組み込む方法がわかりません。Ember JS通常のES6クラスを実装する方法

'use strict' 

class Person{ 
    constructor(name, age){ 
     this.name = name; 
     this.age = age; 
    } 

    getPerson(){ 
     return "My name is " + this.name + " and I'm " + this.age + " years old"; 
    } 
} 

/app/routes/index.js:

は、ここで私は

例クラス(?これはどこに行くだろう)の後だものだ

import Ember from 'ember'; 
export default Ember.Route.extend({ 
    beforeModel(){ 
     this.replaceWith('rentals'); 
    } 
}); 

/* How would I include the class so I could call the below?? 
    var person1 = new Person('Bob', '15'); 
    var person2 = new Person('Kevin', '41'); 
    console.log(person1.getPerson()); 
    console.log(person2.getPerson()); 
*/ 
+1

あなたはES6クラス定義を使用する理由、あなたはEmber.Objectを使用することができる代わりに、計算されたプロパティは、ここで述べたような理由から – Dart

+0

@Dart利用できるようになります:のhttp:/そして、あなたは通常どおりにクラスを扱うことができます/stackoverflow.com/questions/26412628/console-logging-on-ember-jsデバッグがずっと簡単です。 – RoyaleWCheese1

答えて

2

別々に作成します。あなたのPersonクラスのファイルを開き、それを必要な場所にインポートします。

// /app/util/Person.js 

export default class Person{ 
    constructor(name, age){ 
     this.name = name; 
     this.age = age; 
    } 

    getPerson(){ 
     return "My name is " + this.name + " and I'm " + this.age + " years old"; 
    } 
} 


// /app/routes/index.js 

import Ember from 'ember'; 
import Person from '../util/Person'; 

// ... 

const person1 = new Person('Bob', '15'); 

// ... 
関連する問題