Javascript Falcor-深嵌套引用
我正在和Falcor玩,看看我工作的公司是否能用上它,所以我是个新手 我使用模型作为数据源 这是我的模型:Javascript Falcor-深嵌套引用,javascript,node.js,netflix,falcor,Javascript,Node.js,Netflix,Falcor,我正在和Falcor玩,看看我工作的公司是否能用上它,所以我是个新手 我使用模型作为数据源 这是我的模型: var model = new falcor.Model({ cache:{ currenciesById: { "1": { code: "USD", format: "$" }, "2": { code: "GBP", format: "£" }, "3": { code: "EUR", format: "€" }, "4":
var model = new falcor.Model({
cache:{
currenciesById: {
"1": { code: "USD", format: "$" },
"2": { code: "GBP", format: "£" },
"3": { code: "EUR", format: "€" },
"4": { code: "YEN", format: "¥"}
},
validCurrencies: {
"1": { $type: "ref", value: ["currenciesById", 1] },
"2": { $type: "ref", value: ["currenciesById", 2] },
"3": { $type: "ref", value: ["currenciesById", 3] },
"4": { $type: "ref", value: ["currenciesById", 4] }
},
quotesByPart: {
"100" : {price: 1768.34, currency: { $type: "ref", value: ["currencyById", 1] }},
"200" : {price: 2834.44, currency: { $type: "ref", value: ["currencyById", 2] }},
"201" : {price: 7803.54, currency: { $type: "ref", value: ["currencyById", 3] }},
"347" : {price: 389.09, currency: { $type: "ref", value: ["currencyById", 4] }}
},
quotes: {
"1": { $type: "ref", value: ["quotesByPart", 100] },
"2": { $type: "ref", value: ["quotesByPart", 200] },
"307": { $type: "ref", value: ["quotesByPart", 347] }
},
reservedQuotes:{
"1": { $type: "ref", value: ["quotesByPart", 201] }
}
}
});
当我提出这个要求时:
get('quotes[307].["price", "currency"]')
这是Falcor的回答:
{
"json": {
"quotes": {
"307": {
"price": 389.09,
"currency": [
"currencyById",
4
]
}
}
}
}
这就是我所经历的。Falcor发现quotes[307]实际上是引用quotesByPart[347]并解决了它,事实上它返回了正确的价格和货币引用
然后,我尝试让Falcor在同一请求中解析第二个参考货币。
我试着这样写请求:
get('quotes[307].["currency"].["code"]')
或者,出于绝望
get('quotes[307].["currency.code"]')
我无法让Falcor解决第二个问题
有人能告诉我我错过了什么吗 问题出在我的模型上 正确的模型如下所示:
var model = new falcor.Model({
cache:{
currencyById: {
"1": { code: "USD", format: "$" },
"2": { code: "GBP", format: "£" },
"3": { code: "EUR", format: "€" },
"4": { code: "YEN", format: "¥"}
},
validCurrencies: {
"1": { $type: "ref", value: ["currencyById", 1] },
"2": { $type: "ref", value: ["currencyById", 2] },
"3": { $type: "ref", value: ["currencyById", 3] },
"4": { $type: "ref", value: ["currencyById", 4] }
},
quotesByPart: {
"100" : {price: 1768.34, currency: { $type: "ref", value: ["currencyById", 1] }},
"200" : {price: 2834.44, currency: { $type: "ref", value: ["currencyById", 2] }},
"201" : {price: 7803.54, currency: { $type: "ref", value: ["currencyById", 3] }},
"347" : {price: 389.09, currency: { $type: "ref", value: ["currencyById", 4] }}
},
quotes: {
"1": { $type: "ref", value: ["quotesByPart", 100] },
"2": { $type: "ref", value: ["quotesByPart", 200] },
"307": { $type: "ref", value: ["quotesByPart", 347] }
},
reservedQuotes:{
"1": { $type: "ref", value: ["quotesByPart", 201] }
}
}
});
使用该模型,Falcor可以按预期工作,甚至可以解决深层嵌套引用。问题是
currencesbyid
应该是currencyById
?好的,获取报价的price
以及currency
的code
和format
的语法是什么?它是不是get('quotes[307].[price]、“currency.code”、“currency.format”])
?Falcor路径的文档仍然缺乏。。。