javascript - 声明函数触发 Polymer 元素中的事件的正确方法是什么?

标签 javascript polymer documentation polymer-1.0

鉴于以下极其简化的自定义 Polymer 元素,我应该如何记录由“add”函数触发的“added-numbers”事件,以便它出现在 iron-component 生成的文档页面中-page(下图)?

<dom-module id="my-element">
  <template>
    <style>
      :host { display: block; }
    </style>
  </template>
  <script>
    Polymer({
      is: 'my-element',
      properties: {
        // properties go here
      },
      /**
      * Just adds two numbers together and fires an event.
      * @param {Number} a The first number
      * @param {Number} b The second number
      * @fires my-element#added-numbers I WANT TO DOCUMENT THE EVENT HERE
      */
      add: function (a, b) {
        var c = a + b;
        this.fire('added-numbers', { value: c });
      }
    });
  </script>
</dom-module>

screenshot of auto generated docs page

polymer 文档 itself展示了如何将事件作为函数来记录(带有摘要和参数),但没有展示如何记录预期会触发事件(或多个事件)的函数的示例。

我查看了 JavaScript 文档的 JSDoc 标准,它有一个 @fires标签似乎是我所追求的(并且我已经尝试在上面使用它),但是在生成文档页面时它被忽略了。

如果有任何不同,我正在使用 Polymer 版本 1.9。

最佳答案

使用@event 注释。只需在您的函数之前或元素内的任何其他位置添加一个新的注释 block

 /**
  * Just adds two numbers together and fires an event.
  * @param {Number} a The first number
  * @param {Number} b The second number
  */
  add: function (a, b) {
    var c = a + b;
    this.fire('added-numbers', { value: c });
  }

 /**
 * Fired when .....
 *
 * @event event-name
 * @param {{eventParam:boolean}} detail -
 *     eventParam: true if .....
 */

关于javascript - 声明函数触发 Polymer 元素中的事件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45436914/

相关文章:

javascript - RequireJS 模块的依赖项未被评估

javascript - 如何像 Accordion 一样使用 polymer 核心坍塌?

html - Polymer 1.0 Cordova,我该怎么做才能改变主页的方向?

documentation - SPDH协议(protocol)文档

configuration - 我可以使用 DoxyGen 来记录 ActionScript 代码吗?

javascript - 根据字符串参数生成相同的随机数

javascript - 加载新页面时如何在 WebView 中保留加载的 javascript 内容?

javascript - 相对 z 索引

javascript - dom-repeat 中的 polymer 可观察对象未得到更新

api - 你认为好的 API 文档是什么?