Polymer 聚合物与moment.js冲突?

Polymer 聚合物与moment.js冲突?,polymer,momentjs,Polymer,Momentjs,我在聚合物过滤器中使用了moment.js,在Chrome中一切都很棒。还有Firefox。此代码: <link rel="import" href="/bower_components/polymer/polymer.html"> <polymer-element name="time-ago" attributes="isostring prepend"> <template> <span id="timeago">{{

我在聚合物过滤器中使用了moment.js,在Chrome中一切都很棒。还有Firefox。此代码:

<link rel="import" href="/bower_components/polymer/polymer.html">
<polymer-element name="time-ago" attributes="isostring prepend">
    <template>
        <span id="timeago">{{prepend}} {{ isostring | timeago }}</span>
    </template>

    <script src="/bower_components/time-ago/moment.min.js"></script>
    <script>
        Polymer('time-ago', {
            ready: function() {

            },
            timeago: function(){
                return moment(arguments[0], moment.ISO_8601).fromNow();
            }
        });
    </script>
</polymer-element>

{{prepend}}{{isostring | timeago}}
聚合物(“很久以前”{
就绪:函数(){
},
timeago:function(){
返回力矩(参数[0],矩.ISO_8601).fromNow();
}
});
创建此响应:

"Exception caught during observer callback: .timeago@data:text/javascript;base64,CgkJUG9seW1lcigndGltZS1hZ28nLCB7CgkJCXJlYWR5OiBmdW5jdGlvbigpIHsKCQkJCQoJCQl9LAoJCQl0aW1lYWdvOiBmdW5jdGlvbigpewoJCQkJcmV0dXJuIG1vbWVudChhcmd1bWVudHNbMF0sIG1vbWVudC5JU09fODYwMSkuZnJvbU5vdygpOwoJCQl9CgkJfSk7CgkKLy8jIHNvdXJjZVVSTD1odHRwOi8vc3Vuc3BvdC5sb2NhbC9ib3dlcl9jb21wb25lbnRzL3RpbWUtYWdvL2luZGV4Lmh0bWwvdGltZS1hZ28uanMK:7:5
g.prototype.transform@http://sunspot.local/bower_components/polymer/polymer.js:12:1699
l.prototype.getValue@http://sunspot.local/bower_components/polymer/polymer.js:12:4483
l.prototype.getBinding@http://sunspot.local/bower_components/polymer/polymer.js:12:4279
b/<@http://sunspot.local/bower_components/polymer/polymer.js:11:30452
v@http://sunspot.local/bower_components/platform/platform.js:16:15082
w@http://sunspot.local/bower_components/platform/platform.js:16:15304
A@http://sunspot.local/bower_components/platform/platform.js:16:16251
A@http://sunspot.local/bower_components/platform/platform.js:16:16142
.createInstance@http://sunspot.local/bower_components/platform/platform.js:16:20171
c.instanceTemplate@http://sunspot.local/bower_components/polymer/polymer.js:12:14121
d.shadowFromTemplate@http://sunspot.local/bower_components/polymer/polymer.js:12:17324
d.parseDeclaration@http://sunspot.local/bower_components/polymer/polymer.js:12:17137
d.parseDeclarations@http://sunspot.local/bower_components/polymer/polymer.js:12:17028
d.makeElementReady@http://sunspot.local/bower_components/polymer/polymer.js:12:16292
d.createdCallback@http://sunspot.local/bower_components/polymer/polymer.js:12:15805
k@http://sunspot.local/bower_components/platform/platform.js:16:1615
h@http://sunspot.local/bower_components/platform/platform.js:16:1213
s@http://sunspot.local/bower_components/platform/platform.js:16:2616
h@http://sunspot.local/bower_components/platform/platform.js:15:28868
e@http://sunspot.local/bower_components/platform/platform.js:15:28571
g@http://sunspot.local/bower_components/platform/platform.js:15:28671
CustomElements[a]@http://sunspot.local/bower_components/platform/platform.js:16:5579
Document.prototype.importNode@http://sunspot.local/bower_components/platform/platform.js:16:26689
A@http://sunspot.local/bower_components/platform/platform.js:16:16069
A@http://sunspot.local/bower_components/platform/platform.js:16:16142
.createInstance@http://sunspot.local/bower_components/platform/platform.js:16:20171
E.prototype.handleSplices@http://sunspot.local/bower_components/platform/platform.js:16:24923
E.prototype.valueChanged@http://sunspot.local/bower_components/platform/platform.js:16:23131
E.prototype.updateIteratedValue@http://sunspot.local/bower_components/platform/platform.js:16:22883
ObserverTransform.prototype.observedCallback_@http://sunspot.local/bower_components/platform/platform.js:12:18460
Observer.prototype.report_@http://sunspot.local/bower_components/platform/platform.js:12:12599
CompoundObserver.prototype<.check_@http://sunspot.local/bower_components/platform/platform.js:12:18135
global.Platform.performMicrotaskCheckpoint@http://sunspot.local/bower_components/platform/platform.js:12:13514
b/<@http://sunspot.local/bower_components/platform/platform.js:16:26113
c@http://sunspot.local/bower_components/platform/platform.js:15:10963
c@http://sunspot.local/bower_components/platform/platform.js:12:26120
b@http://sunspot.local/bower_components/platform/platform.js:12:25652
"
“在观察者回调期间捕获异常:。timeago@data:text/javascript;4、C(C)C(C(C)C(C)C(C(C)C(C)C(C)C(C)C(C)C(C(C)C(C(C)C(C(C)C(C(C)C(C)C(C)C(C)C(C)C(C)C(C)C(C)C(C)C(C)C(C)C(C)C(C)C(C)C)C(C(C)C(C)C(C)C)C(C)C)C(C)C(C)C)C(C)C(C)C(C(C)C)C(C)C(C(C)C)C(C)C)C(C)C(C(C)C)C)C)C(C)C(C)C(C(C)C)C)C(C)C(C)C)C(C)C(C(C)C)C)C
g、 原型。transform@http://sunspot.local/bower_components/polymer/polymer.js:12:1699
l、 原型。getValue@http://sunspot.local/bower_components/polymer/polymer.js:12:4483
l、 原型。getBinding@http://sunspot.local/bower_components/polymer/polymer.js:12:4279

b/不要在
中嵌入
矩.js的脚本标记。将其完全置于聚合物元件的外面。那么像这样,

<link rel="import" href="/bower_components/polymer/polymer.html">
<script src="/bower_components/time-ago/moment.min.js"></script>
<polymer-element name="time-ago" attributes="isostring prepend">


更好的是,如果您有其他元素需要使用
,请为其进行导入(以及包含加载
矩.min.js
的脚本标记的html文件),并使用
在需要的任何地方加载导入。此模式允许多个对象在不重复加载的情况下访问
moment
api。

不要将
moment.js的脚本标记嵌入
中。将其完全置于聚合物元件的外面。那么像这样,

<link rel="import" href="/bower_components/polymer/polymer.html">
<script src="/bower_components/time-ago/moment.min.js"></script>
<polymer-element name="time-ago" attributes="isostring prepend">



更好的是,如果您有其他元素需要使用
,请为其进行导入(以及包含加载
矩.min.js
的脚本标记的html文件),并使用
在需要的任何地方加载导入。此模式允许多个对象访问
瞬间
api,而无需重复加载。

请确定,您的站点中是否包含polymer platform脚本?始终是一个很好的捕获!是的,就在那里。继续解决这个问题。问题似乎在于moment.js中的duration方法。我可以成功创建对象,但是任何脱离duration属性的方法都会触发相同的失败。你能在Firefox中重现momentjs问题而不使用Polymer吗?谢谢,Peter。js本身运行非常出色(甚至在没有缺陷的情况下验证了所有测试用例)。聚合物运行得很好。当这两个人相遇时,事情就失败了。请确定一下,你的站点中是否包含了polymer平台脚本?这总是一个好发现!是的,就在那里。继续解决这个问题。问题似乎在于moment.js中的duration方法。我可以成功创建对象,但是任何脱离duration属性的方法都会触发相同的失败。你能在Firefox中重现momentjs问题而不使用Polymer吗?谢谢,Peter。js本身运行非常出色(甚至在没有缺陷的情况下验证了所有测试用例)。聚合物运行得很好。当这两种模式相遇时,事情就失败了。仍然没有运气,尝试了两种模式和include模式。我正在编辑原始代码以反映新代码。如果我注释掉timeago:function()的返回,我会得到我通常期望的呈现…但是在该函数返回到位后,我会得到一个完全失败的呈现。另外,如果我尝试将矩(参数[0],矩.ISO8601)输出到控制台,我会得到一个有效的对象。在该对象上运行fromNow()方法导致抛出失败。而且,更有趣的是,该页面在Firefox上也失败:(不是我的代码…)。因此,在这种情况下,冲突似乎与moment.js有关。我收回这一点!为错误的警报感到抱歉;在更新库并确保所有引用都已连接后,代码现在可以在Firefox中运行。谢谢你的帮助!仍然没有运气,尝试了模式和include模式。我正在编辑原始代码以反映新代码。如果我注释掉timeago:function()的返回,我会得到我通常期望的呈现…但是在该函数返回到位后,我会得到一个完全失败的呈现。另外,如果我尝试将矩(参数[0],矩.ISO8601)输出到控制台,我会得到一个有效的对象。在该对象上运行fromNow()方法导致抛出失败。而且,更有趣的是,该页面在Firefox上也失败:(不是我的代码…)。因此,在这种情况下,冲突似乎与moment.js有关。我收回这一点!为错误的警报感到抱歉;在更新库并确保所有引用都已连接后,代码现在可以在Firefox中运行。谢谢你的帮助!