有没有办法在Polymer 2.0中声明可以在其他组件中使用的全局函数?我有一个 moment.html
文件,用于在项目中使用moment.js:
<script src="../bower_components/moment/moment.js"></script>
在同一个文件中,我还声明了一个函数,而不是在我想要使用它的每个组件中声明它:
<script>
function format(date) {
return moment(date).format('dddd, D MMMM YYYY');
}
</script>
导入文件后 moment
对象可用,但是当我尝试调用 format
函数时,它会给出警告 method 'format' not defined
. 如何将该功能公之于众?
Edit :我可以从另一个组件的脚本标签中调用 format
函数,但我无法从模板中访问它,即:
<strong>[[format(event.date)]]</strong>
我想从页面上的函数呈现结果,而不是以编程方式访问它 .
3 回答
我认为,对于你的任务,最好的文件是Monica Dinculescu自己的备忘单 .
https://meowni.ca/posts/polymer-2-cheatsheet/#defining-a-mixin
她's a Polymer developer. Below is me copy pasting from the link. It'是魔法的
extends MyMixin(Polymer.Element)
.定义类表达式mixin以在不同元素之间共享实现:
在元素定义中使用mixin:
以下是我如何工作的示例;
当你的
format_function
在影子根中时,你必须使用.shadowRoot.querySelector
下面是我的工作代码,在这里我
format_funtion
在page1
并在page2
中调用它