В последнее время я обнаружил загвоздку в своем коде. Я работаю с моими пользовательскими объектами и их массивами. Я нашел один случай, когда метод push () работает, а другой - нет.
Первый случай (работает нормально):
class MyObject{
private reference: d3.Selection<SVGElement>;
public constructor(ref: d3.Selection<SVGElement>){
this.reference = ref;
}
}
interface ViewModel{
objects: MyObject[]
}
class MyApp{
private root: d3.Selection<SVGElement>
private viewModel: ViewModel;
constructor(options: Type){
this.root = options.root
this.viewModel.objects.push(new MyObject(this.root))
}
}
Второй случай (не работает):
class MyObject{
private reference: d3.Selection<SVGElement>;
public constructor(ref: d3.Selection<SVGElement>){
this.reference = ref;
}
}
class MyApp{
private root: d3.Selection<SVGElement>
private objects: MyObject[];
constructor(options: Type){
this.root = options.root
this.objects.push(new MyObject(this.root)) //seems to freeze the whole program
}
}
Что я делаю не так?
Любая помощь будет принята с благодарностью.
Michal