• [Falcor] Retrieving Multiple Values


    In addition to being able to retrieve a path from a Falcor Model, you can also retrieve multiple Path Sets. Path Sets are paths that contain ranges or multiple string keys inside of indexers. In addition to being able to retrieve a Path Set, you can also retrieve as many paths as you like in a single method call.

    You can fetch range of data:

    model.get('people[0..1].titles[0].name')

    Because what you fetch is not just a single a value, you need to use:

    model.get()

    Which return you a json string.

    SO for example:

    <!-- index.html -->
    <html>
    <head>
        <!-- Do _not_  rely on this URL in production. Use only during development.  -->
        <script src="//netflix.github.io/falcor/build/falcor.browser.js"></script>
        <script>
            var model = new falcor.Model({
                cache: {
                    people: [
                        {
                            name: "ZT",
                            titles: [
                                {
                                    id: 123,
                                    name: "Senior Frontend developer",
                                    rating: 10
                                }
                            ]
                        },
                        {
                            name: "WO",
                            titles: [
                                {
                                    id: 321,
                                    name: "Senior Software Engineer",
                                    rating: 10
                                }
                            ]
                        }
                    ]
                }
            });
            
            model.get('people[0..1].titles[0].name')
                    .then(function (json){
                        console.log(JSON.stringify(json, null, 2));
                    });
        </script>
    </head>
    <body>
    </body>
    </html>

    And what you will get:

    {
      "json": {
        "people": {
          "0": {
            "titles": {
              "0": {
                "name": "Senior Frontend developer"
              }
            }
          },
          "1": {
            "titles": {
              "0": {
                "name": "Senior Software Engineer"
              }
            }
          }
        }
      }
    }

    You can pass multi enter points:

    model.get('people[0..1].titles[0].name', 'people[0..1].titles[0].rating')

     So you will get :

    {
      "json": {
        "people": {
          "0": {
            "titles": {
              "0": {
                "name": "Senior Frontend developer",
                "rating": 10
              }
            }
          },
          "1": {
            "titles": {
              "0": {
                "name": "Senior Software Engineer",
                "rating": 8
              }
            }
          }
        }
      }
    }

    Notice that:

            model.get('people[0..1].titles[0].name',
                      'people[0..1].titles[0].rating')

    The entor points we pass in are quite simialr, actually we can group them:

    model.get('people[0..1].titles[0]["name", "rating"]')

    You will still get the same result.

  • 相关阅读:
    三种钱是花的越多,赚的越多
    程序员除去繁华,你的匠心何在?
    科目三考试
    药房托管
    文章标题
    【cocos2d-x 3.7 飞机大战】 决战南海I (八) 背景移动
    Android开发时经经常使用的LogUtil
    仿支付宝/微信的password输入框效果GridPasswordView解析
    hdoj 1518 Square 【dfs】
    mysql配置文件夹错误:在安装mysql 5.6.19 时运行cmake命令是出现CMake Error: The source directory does not appear to contai
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4976450.html
Copyright © 2020-2023  润新知