はその後、私の角度2サービスでは、私はTaskGroups型付けされたES6クラスで不変のJSを使用するには?
@Injectable()
class TaskService {
taskGroups:Immutable.List<TaskGroup>;
constructor() {
this.taskGroups = Immutable.List<TaskGroup>([new TaskGroup("Coding tasks")]);
}
}
この方法でのみtaskGroups一覧は不変であるの不変のリストを作成します。私は、クラスTask
と
class Task{
constructor(public text:string){}
}
class TaskGroup {
constructor(public title:string = "new task group", public tasks:Task[] = []){}
}
TaskGroup
を持っていると言います。その中にあるものは何でもありません。 Immutable.List<Board>(...)
の代わりにImmutable.fromJS(...)
を実行しても、ネストされたオブジェクトは普通のJavascriptオブジェクトです。
不変JSはどのように不変クラスのオブジェクトを作成するので、クラスの継承(Inheriting from Immutable object with ES6 #562)
//can't do this!
class TaskGroup extends Immutable.Map<string, any>{
constructor(public title:string = "new task group", public tasks:Task[]){}
}
//it complained about the class not having methods like set, delete etc
を想定していないのですか?
この[link](http://blog.scottlogic.com/2016/01/05/angular2-with-immutablejs.html);)を参照してください。 – Kutyel
@Kutyelはラッパーです素晴らしいコンセプト。おそらくあなたはそれを答えとして書いて、記事にリンクしてください。 –
完了、おかげさまで^ _^ – Kutyel