用于功能模块化的聚合物脚本专用组件
Polymer script only component for function modularization
我可以在Polymer
中使用仅脚本组件来保存跨应用程序使用的所有帮助程序函数吗?我不确定拥有可重用functions
的推荐方法是什么,constants
可以跨组件导入?
<dom-module id="helper-functions">
<script>
(function() {
var helper1 = function() { ... };
var helper2 = function() { ... };
Polymer({
is : 'helper-functions'
});
})();
</script>
</dom-module>
你"可以"这样做,但这取决于这些帮助程序函数在做什么以及它们是否需要任何"聚合物"功能。
将这种事情包装成一种"行为",似乎是聚合物元素本身做事的方式。 将帮助程序拆分为多个功能区域,使每个区域成为单独的行为,然后将行为包含在需要它的元素中。下面是一个示例来展示它是如何完成的(我将我的所有行为都包含在 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 函数,我已经在我的应用程序.js文件中添加了我的辅助函数。我目前没有那么多,我怀疑如果我这样做了,那将表明我没有设计正确的元素。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 如何检测用于WebGL的专用或集成显卡
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 当脚本由system.js加载时,如何要求('electron')
- HTML标记在脚本标记中工作
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 显示时间的脚本
- ng应用程序使脚本无限运行
- 用于功能模块化的聚合物脚本专用组件
- 我应该在模板脚本中使用参数来控制输出,还是使用单独的专用模板