![](/img/trans.png)
[英]Invalidate Falcor jsonGraph fragment using jsonGraphEnvelope
[英]How do you invalidate a whole range in Falcor?
假設我有一個簡單的類別和文章系統,並且有一條這樣的路徑可以獲取特定類別中所有文章的列表。
categoriesById[{integers:ids}].articles[{ranges:rows}]
現在,該路線已被硬編碼以按照最新的順序對文章進行排序,因此,當我添加新文章時,我需要(假定)使類別中的所有文章無效,因為我希望文章0
為新文章。
有沒有一種速記的方式來一個類別中的無效條款的整個范圍,或者我需要每一個無效article
下categoriesById
明確,或者是有辦法拼接項目到在JSONGraph列表?
您可以使用范圍對象 。
call(path, arg, refPaths, thisPaths) {
// add new article
const newLength = // get new length somehow
return [
{
path: [
"categoriesById",
path.categoryId,
"articles",
{length: newLength}
],
invalidated: true
}
]
}
請注意,您可能希望您的call
返回有關新創建的文章或更新的文章數的更多信息。 在這里它什么也不會返回,而是必須從客戶端的緩存中刪除整個articles
數組的事實。 要返回更多信息,可以將路徑/值對添加到返回的數組。
您可以提供指向集合根目錄的路徑以使其invalidate
。
var model = new falcor.Model({
cache: {users: [{name: "Scott"}]}
})
console.log(model.getCache().users) // Object {0: Object, length: Object}
model.invalidate("users")
console.log(model.getCache().users) // undefined
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.