我正在使用Angular 2和lodash。Angular 2綁定到計算得到的getter給出調試錯誤
我有關係的典範,我有這樣的一個getter:
get relationsPerType() {
return _(this.Relations)
.groupBy(p => p.Type)
.toPairs()
.map(p => ({
type: <MessageRelationType>p[0],
relations: <Relation[]>p[1]
}));
}
relationsPerType的值綁定到一個* ngFor指令
編輯:這是我的綁定:
<div *ngFor="#relationGroup of Message.relationsPerType">
...
</div>
給我以下錯誤:
Expression 'Message.relationsPerType in [email protected]:8' has changed after it was checked. Previous
這似乎是完全正確的,因爲實際上每次調用它時都會計算這個值。
在任何情況下,具有這樣的「計算」變量我無法想象Angular 2如何改變檢測可以檢測到relationsPerType實際上已經改變。 就像把getter標記爲不可變?
我想一個更好的辦法是:
一)要存儲產權裏面計算的吸氣值從開始
b)根據父對象的不可變的,從而爲角不跟蹤更改on properties
有沒有更好的方法來做到這一點?
你如何綁定? –