聚合物铁ajax:如何将值传递给函数的参数

斯伯拉塔·萨卡(Subrata Sarkar)

首先,我想对这篇文章的标题不太好表示歉意。我想不出更好的办法了!

我正在尝试iron-ajax当我在iron-input元素中输入一个值并单击一个按钮时,我得到的结果很好。现在,结果中的每个记录都有一个链接,该链接应该可以对项目本身进行更多钻取。

为了获得第一组结果,我做了以下工作(很好):

 <iron-ajax id="ajax"
  handle-as="json"
  on-response="hresponse"
  last-response="{{data}}"
  debounce-duration="300">
  </iron-ajax>
  <input is="iron-input" id="txtSearchItemsByName"/>
  <button on-click="findItems">Search &raquo;</button>
  <span id="waiting"></span>
  <template is="dom-repeat" items="{{data}}">
    <div>
      <span>
        <input id="itemId" value="{{item.id}}"/>
        <a on-click="itemDetail( {{item.id}} )" href="javascript:;" title="{{item.plantid}}">{{item.title}}</a>
              </span>
    </div>
  </template>

以下代码块获取与用户输入的名称匹配的所有记录

 findPlants: function () {
  var thisAjax = this.$.ajax;
  var waitingContainer = this.$.waiting;

  waitingContainer.innerHTML = "Please wait...";

  var strEnc = encodeURIComponent(this.$.txtSearchItemByName.value);
  this.$.ajax.url = "//domain.com/api/v0/items/search";
  this.$.ajax.params = { "apikey": "xxxxxxxxxxx", "common_name": strEnc };
  window.setTimeout(function () {
    thisAjax.generateRequest();
    waitingContainer.innerHTML = "";
  }, 1000);
},

hresponse: function (request) {
  data = this.$.ajax.lastResponse;
},

到目前为止,一切正常。然后,我继续创建了另一个函数,该函数应该采用argument

 itemDetail: function (id) {
  var thisAjax = this.$.ajax;
  var waitingContainer = this.$.waiting;
  waitingContainer.innerHTML = "Please wait...";

  this.$.ajax.url = "//domain.com/api/v0/item/search";
  this.$.ajax.params = { "apikey": "xxxxxxxxxx", "id": id };
  window.setTimeout(function () {
    thisAjax.generateRequest();
    waitingContainer.innerHTML = "";
  }, 1000);
},

我希望以下行能完成我的工作:

<a on-click="itemDetail( {{item.id}} )" href="javascript:;" title="{{item.plantid}}">{{item.title}}</a>

但是,当我单击链接时,我收到以下错误消息,但没有任何反应:

[iron-ajax-caller :: __ createEventHandler]:itemDetail( {{item.id}} )未定义侦听器方法

我不知道该怎么办,因为我仍然是Polymer的新手。

高手请帮忙!

在此先感谢Subrata

罗马克

点击即用,而不是单击:

<a on-tap="_itemDetail" href="javascript:;" title="{{item.plantid}}">{{item.title}}</a>

然后在您的函数中:

_itemDetail: function(e) {
  var thisAjax = this.$.ajax, waitingContainer = this.$.waiting;

  thisAjax.url = '//domain.com/api/v0/item/search';
  thisAjax.params = { apikey: 'xxxxxx', id: e.model.item.id };

  this.async(function() {
    thisAjax.generateRequest();
    waitingContainer.innerHTML = '';
  }, 1000);
}

有关更多信息,请参见此处文档

至于为什么抽头,检查

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将值传递给函数的左侧参数?

来自分类Dev

如何将值传递给函数的左侧参数?

来自分类Dev

如何将值从href链接传递给ajax函数

来自分类Dev

将当前的聚合物对象(this)传递给回调函数

来自分类Dev

如何将属性传递给导入的隐藏自定义聚合物元素

来自分类Dev

聚合物,如何将值传递给需要字符串的paper-date-picker属性?

来自分类Dev

在聚合物视图中将参数传递给js函数

来自分类Dev

如何使用凉亭安装聚合物铁元素?

来自分类Dev

Javascript:如何将值传递给函数参数?

来自分类Dev

聚合物:将属性传递给子元素无效

来自分类Dev

聚合物1.0:铁分类表

来自分类Dev

具有数据绑定的聚合物铁ajax元素参数将参数拆分为单个字符

来自分类Dev

手动触发聚合物铁ajax请求

来自分类Dev

聚合物铁ajax间隔呼叫

来自分类Dev

重复模板中聚合物铁-ajax与纸项目的结合值

来自分类Dev

聚合物1.0:等待多个铁ajax请求完成

来自分类Dev

将数组文字传递给聚合物计算的绑定

来自分类Dev

如何将值传递给函数?

来自分类Dev

将回调函数传递给聚合物元素

来自分类Dev

聚合物,如何将值传递给需要字符串的paper-date-picker属性?

来自分类Dev

聚合物铁形态输出误差

来自分类Dev

聚合物铁形态响应

来自分类Dev

如何将外部javascript导入聚合物项目

来自分类Dev

Javascript:如何将值传递给函数参数?

来自分类Dev

重复模板中聚合物铁-ajax与纸项目的结合值

来自分类Dev

如何将数组传递给聚合物中的内部html

来自分类Dev

聚合物铁ajax detail.response为空

来自分类Dev

聚合物铁ajax /铁请求不会触发

来自分类Dev

聚合物铁单

Related 相关文章

热门标签

归档