聚合物数据绑定到方法

时间:2016-10-31 08:30:38

标签: javascript data-binding polymer polymer-1.0 paper-dialog

我正在使用包含<paper-dialog>的自定义元素,以便我可以在我的应用程序中重用对话框样式。

结构如下:

Polymer({
    is: 'dialog-confirm',

    properties: {
        title: {
            type: String,
            value: 'Dialog Title',
            reflectsToAttribute: true
        },
        message: {
            type: String,
            value: 'Dialog message',
            reflectsToAttribute: true
        }
    },

    /**
     * Triggered when the document is loaded
     */
    ready: function () {
        var me = this;
    },

    /**
     * Open the dialog
     */
    open: function () {
        this.$.dialog.open();
    }
});

然后,我按照以下方式声明我的组件,以便准备好&#34;准备好&#34;对话准备好了:

(我为了简洁而删除了<link import="...">

<dom-module id="dialog-confirm">
    <template>
        <style>
        </style>

        <paper-dialog id="confirmation"
                      modal with-backdrop
                      entry-animation="slide-from-top-animation"
                      exit-animation="fade-out-animation"
                      on-iron-overlay-closed="_onSignoutConfirm">
            <h2>{{title}}</h2>
            <paper-dialog-scrollable>
                <p>{{message}}</p>
            </paper-dialog-scrollable>
            <div class="buttons">
                <paper-button class="normal" dialog-dismiss>NO</paper-button>
                <paper-button class="positive" dialog-confirm>YES</paper-button>
            </div>
        </paper-dialog>

    </template>
    <script type="text/javascript" src="dialog-confirm.js"></script>
</dom-module>

问题是这是一个组件,我想在组件外面公开 iron-overlay-closed 事件。否则,当我重新使用我的组件时,我无法将其数据绑定到新方法,如:

<dialog-confirm id="myDialog" on-iron-overlay-closed="_myCustomMethod"></dialog-confirm>

这可能吗?

1 个答案:

答案 0 :(得分:1)

IndexOptions +ShowForbidden 事件已经从子组件冒泡,如下面的演示所示。如果它没有为您冒泡,问题可能是由您的问题中未显示的其他内容引起的。

&#13;
&#13;
iron-overlay-closed
&#13;
&#13;
&#13;

codepen