我想将组件属性值绑定到我的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上执行任何字符串替换。
我的问题是,有没有一种聚合物方法可以做到这一点,如果是这样,我该怎么做?