gpt4 book ai didi

arrays - Angular 为 2 的 Immutable.js

转载 作者:太空狗 更新时间:2023-10-29 19:34:59 25 4
gpt4 key购买 nike

在 angular 2 中使用 immutable.js 的正确方法?

我的应用程序运行正常,我正在尝试优化和重构以提高应用程序的性能。我遇到了 immutable.js,我想将从 http 请求中检索到的数据更改为不可变数据,然后在 Angular *ngFor 循环中调用它。

如果我执行控制台日志,数据会返回,但是当我尝试将数据映射到不可变对象(immutable对象)时,我会得到一个对象映射,但我该如何访问它。我看到 map->rout->entries->Array[]->Array[] 我的数据在最后一个数组元素中。

// component.ts
import { Component, OnInit} from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/map';
import { List, Map } from 'immutable';
import * as Immutable from 'immutable';

@Component({
selector: 'app',
templateUrl: './component.html',
styleUrls: ['./component.css'],
})

export class MyComponent implements OnInit {

let myData:any = null;
constructor(private http: Http) {
this.callData("test.json");
}

callData(targetUrl) {
return this.http.get(targetUrl))
.map((res) => res.json())
.subscribe(
(data) => {
this.myData = [];
this.myData = Immutable.Map(data);
console.log(data); // RETURNS THE DATA
console.log(this.myData); // RETURNS MAP
});
}
}
// component.html
<div *ngIf="myData != null">
<div *ngFor="let key of myData; let i = index">
<div class="someClass">
{{myData[key].something}}
</div>
</div>
</div>

最佳答案

使用 Immutable.js,您应该使用 get 方法访问不可变对象(immutable对象)或数组。

在您的模板中,执行以下操作:{{myData.get(key).something}}

关于arrays - Angular 为 2 的 Immutable.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41502603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com