gpt4 book ai didi

javascript - 功能模块化的 polymer 脚本唯一组件

转载 作者:行者123 更新时间:2023-12-03 07:36:22 25 4
gpt4 key购买 nike

我可以在 Polymer 中拥有一个仅脚本组件来保存跨应用程序使用的所有辅助函数吗?我不确定推荐的方法是什么,可以跨组件导入可重用的函数常量

<dom-module id="helper-functions">  
<script>
(function() {
var helper1 = function() { ... };
var helper2 = function() { ... };
Polymer({
is : 'helper-functions'
});
})();
</script>
</dom-module>

最佳答案

您“可以”执行此操作,但这取决于这些辅助函数正在做什么以及它们是否需要任何“polymer ”功能。

封装此类事物的一种方法是作为一种“行为”,并且似乎是 polymer 元素本身做事的方式。将您的帮助者分成功能区域并使每个区域成为单独的行为,然后将该行为包含在需要它的元素中。下面是一个示例,展示了它是如何完成的(我将我的所有行为都包含在 PAS 命名空间中。

<link rel="import" href="../polymer/polymer.html">

<script>
window.PAS = window.PAS || {};

(function() {
'use strict';

var dialogs = [];

PAS.DialogBehaviour = {
attached: function() {
dialogs.push(this); //Capture all dialogs as they start up
},
_requestClose: function() {
this.async(function() { //Wait a second to allow inflight ajax to have a chance to finish
dialogs.forEach(function(dialog) {
if (dialog !== this) {
dialog._forceClose();
}
},this);
},1000);
},
_forceClose: function() {
//abstract
}

};

})();

</script>

然后我将其包含在我的元素中,例如...

Polymer({
is: 'pas-standin',
behaviors: [AKC.Route,PAS.DialogBehaviour,Polymer.NeonAnimatableBehavior],
listeners: {
'pas-error': '_closeDialog'
},

但是对于纯 JavaScript 函数,我已在 app.js 文件中添加了辅助函数。我目前没有那么多,我怀疑如果我这样做了,这将表明我没有设计出正确的元素。

关于javascript - 功能模块化的 polymer 脚本唯一组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com