javascript - 如何为 polymer 元素添加功能属性

标签 javascript polymer

我想创建一个具有函数属性的 polymer 元素,当获得成功响应时将调用它。

<foo-bar url="/api/getdata" succCallback="func"></foo-bar>

func function(){
  alert('hi');
}

我试过这个:

<polymer-element name="foo-bar" attributes="url succCallback">
<template>
      <core-ajax id="ajax" method="POST" 
      url="{{url}}" 
      contentType="application/json"
      handleAs="json" 
      on-core-response="{{handleResponse}}"></core-ajax>
</template>
<script>
    Polymer({
        handleResponse: function(e){
             var response = e.detail.response;
             if (response.status === 'success') {
                 // call succCallback
                 this.fire(succCallback);
             }
         }
    });
</script>
</polymer-element>

这是行不通的。如何调用此 succCallback 函数?谢谢!

最佳答案

我觉得不行,因为

attributes attr 仅使用字符串。

可行的解决方案可能如下:

<foo-bar url="/api/getdata" succEventTrigger="foo-bar-done"></foo-bar>

然后,将监听器附加到 polymer 并捕获 succEventTrigger

 var fooBar = document.querySelector('foo-bar');
  sayHello.addEventListener('foo-bar-done', function(e) {
     alert('hi');
  });

和 polymer :

<polymer-element name="foo-bar" attributes="url succEventTrigger">
<template>
      <core-ajax id="ajax" method="POST" 
      url="{{url}}" 
      contentType="application/json"
      handleAs="json" 
      on-core-response="{{handleResponse}}"></core-ajax>
</template>
<script>
    Polymer({
        succEventTrigger : '',
        handleResponse: function(e){
             var response = e.detail.response;
             if (response.status === 'success') {
                 // trigger callback event with parameter if needed
                 this.fire(succEventTrigger, { param : value });
             }
         }
    });
</script>
</polymer-element>

关于javascript - 如何为 polymer 元素添加功能属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748931/

相关文章:

javascript - 使用ajax获取跨域数据

javascript正则表达式并在 "dash"之后 trim 所有内容

node.js - 通过 FTP 从 Node API 下载 PDF

routing - 如何在 Polymer Starter Kit 中设置 baseUrl?

polymer - polymer 中的 hostAttributes 和 properties 有什么区别?

javascript - 我可以用 HTML5/JS 写文件吗?

javascript - 将大型 JSON 文件与 d3.js 一起使用会导致大量性能下降/崩溃

javascript - Firefox 上的 Polymer.js 组件

javascript - Angular 2/4 将焦点设置在输入元素上

javascript - Firebase 消息传递错误 : messaging/permission-blocked