聚合物iron-ajax:将组件属性绑定到iron-ajax URL属性?

时间:2017-03-08 15:29:35

标签: javascript ajax data-binding polymer polymer-1.0

我想将组件属性值绑定到我的iron-ajax组件的URL。

我的情景看起来像这样......

我有一个'iron-meta'组件,用于存储我的所有API端点,如此...

<iron-meta id="services" key="services" value=
    '{
            "baseApiUrl": {
              "foo":"/api/{dynamic_id}",
              "bar":"/api/{dynamic_id}/stuff"
            }
      }'>
</iron-meta>

然后我将这个元对象导入自定义组件,该组件需要此端点用于iron-ajax并将此元对象的值绑定到我的自定义组件中的“services”属性,如此...

<iron-meta-query id="query" key="services" value="{{services}}"></iron-meta-query>

对于我来说,使用当前需要组件属性值的“服务”端点我需要通过id访问iron-ajax并在API字符串上执行字符串替换以将其替换为我的组件属性值,就像这样。 ..

_computeUrl: function(services,dynamic_id) {
    return this.services.baseApiUrl.bar.replace("{dynamic_id}", dynamic_id);
  }

我想直接将自定义组件的“dynamic_id”属性绑定到导入的“[[services.baseApiUrl.bar]]”值,以便下面的示例......

<iron-meta-query id="query" key="services" value="{{services}}"></iron-meta-query>

    <iron-ajax id="getHomeData"
        auto
        handle-as="json"
        content-type="application/json"
        url$="[[services.baseApiUrl.bar]]"
        method="GET"
        last-response="{{_response}}">
    </iron-ajax>

//dynamic_id = 1234;

...将解析iron-ajax URL看起来像这样......

"/api/1234/stuff"

无需在导入的服务URL上执行任何字符串替换。

我的问题是,有没有一种聚合物方法可以做到这一点,如果是这样,我该怎么做?

0 个答案:

没有答案