我不知道如何编辑标签
中的绑定(变量)<template is="dom-repeat" items="{{ajaxResponse}}">
<script>
var temp = {{item.title}};
//I want to do this
{{item.title}} = temp.slice(1, 10);
</script>
<google-map-marker latitude="{{item.lat}}" longitude="{{item.lng}}" title="{{item.title}}"> </google-map-marker>
</template>
提前致谢
答案 0 :(得分:1)
您可以使用computed binding。
<google-map-marker title="[[updateTitle(item.title)]]"></google-map-marker>
如果您在自己的自定义元素中,则可以将该函数添加到元素描述中:
Polymer({
is: 'your-element',
updateTitle: function (title) {
return title.slice(1,10);
}
});
或者,如果您在dom-bind
,则可以在template
元素上定义该功能。
<template is="dom-bind" id="app">
...
</template>
<script>
document.getElementById('app').updateTitle= function (title) {
return title.slice(1,10);
};
</script>
答案 1 :(得分:0)
如果您想更改ajax响应,最好通过on-response
事件进行更改。
这个改变很少
<template is="dom-repeat" id="ironList" items="[]">
<google-map-marker latitude="{{item.lat}}" longitude="{{item.lng}}" title=" {{item.title}}"> </google-map-marker>
</template>
然后你需要将函数添加到响应事件到iron-ajax元素。
<iron-ajax on-response="responseFunc"
然后描述它func:
responseFunc: function(e) {
//receive all response data in array
var items = e.detail.response;
//perform your operations
var item = items[0];
var temp = item.title;
item.title = temp.slice(1, 10);
//add you changed data to template
this.$.ironList.push('items', item);
}
如果响应对象中有很多数组,则可以轻松使用循环。