2

这就是我cases在视图中呈现 ObservableArray 的方式

<ListView [items]="cases" class="list-group" *ngIf="cases">
    <ng-template let-case="item">

Saycases具有以下值:

cases = [{id: 1, name: "Sam"}, {id: 2, name: "Romio"}]

当我像这样更新第一个项目时,如何让我的 ListView 重新渲染或以某种方式更新视图?

cases[0]["name"] = "Michael"

4

2 回答 2

3

您是否尝试过在NgZone中应用更改?我用它来更新一个数组(不是 ObservableArray),并且相应的 RadListView 会自动更新。

this.ngZone.run(() => {

        this.dummyService.addFile(this.file).subscribe(
            (fileId) => {
                this.folder.push(this.file);
        },
        (error) => {
           this handleError(error);
        });
     });
于 2017-10-11T19:58:44.253 回答
0

您将要在这里强制执行不变性。所以如果你必须改变数组中的第一个对象,我会的。之后我会尝试使用扩展运算符。

cases[0]["name"] = "Michael"
cases = [...cases];

这将设置cases为应该更新列表的数组的新实例。

于 2017-10-11T16:29:57.073 回答