不能将一个聚合物性质值转化为另一个聚合物性质,其作为函数返回值

时间:2017-12-11 11:59:44

标签: ajax polymer

我有下面的代码,我用来使用带有聚合物的铁ajax调用http请求,所以使用聚合物属性传递body和last-response的值。我们可以看到这里我们有requestBody聚合物属性我们是在requestBody中返回no值,所有值都是硬编码,如开始和结束以及标记下的名称。

现在我的问题是我希望在名称中获取uri值而不是在名称中传递硬编码值我想在uri值更改时在name参数下动态获取uri值。

   <iron-ajax
      id="Request"
      method="POST"
      content-type="application/json"
      auto
      url="/api/series/v1/points"
      last-response="{{Data123}}"
      body="{{requestBody}}">
    </iron-ajax>

 Polymer({
      is: 'test-view',

      behaviors: [GlobalsBehaviour],

      properties: {

  uri: {
          type: String,
          observer: '_uriChanged'
        },

 requestBody:{
          type: Object,
          value: function() {
            return {
              "start": 11111,
               "end": 123333,
              "tags": [
                {
                "name" : "/asset/India/rotor",
                }
              ]
            };
          }
        }, 

 Data123:{
            type: Object,
            observer: '_formateData'
        },

  observers: [
      '_uriChanged(globals.uri)'
    ],

我尝试过"name" : this.uri"name" : uri,但无法获得价值 注意:uri来自另一种聚合物组分,在某些情况下它来自全局变量。

请让我知道如何在requestBody属性中的name属性中获取uri值

1 个答案:

答案 0 :(得分:0)

首先从iron-ajax标签中删除auto,然后按如下所示更改_uriChanged函数

_uriChanged: function(uri) {
  this.set('requestBody.tags.0.name', uri);
  this.$.Request.generateRequest();
}