Javascript 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":

我正在和Falcor玩,看看我工作的公司是否能用上它,所以我是个新手

我使用模型作为数据源

这是我的模型:

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路径的文档仍然缺乏。。。