当我尝试在我的apache2服务器上复制聚合物网站上的纸张下拉菜单时,我得到了这个错误。当按下下拉按钮时。
Exception caught during observer callback: TypeError: Cannot read property 'margin' of undefined
at core-dropdown-overlay.Polymer.positionTarget (http://localhost/components/core-dropdown/core-dropdown-overlay.html:125:26)
at core-dropdown-overlay.Polymer.updateTargetDimensions (http://localhost/components/core-overlay/core-overlay.html:445:12)
at core-dropdown-overlay.Polymer.prepareRenderOpened (http://localhost/components/core-overlay/core-overlay.html:347:14)
at core-dropdown-overlay.Polymer.openedChanged (http://localhost/components/core-overlay/core-overlay.html:306:12)
at core-dropdown-overlay.g.invokeMethod (http://localhost/components/polymer/polymer.js:12:13312)
at core-dropdown-overlay.g.notifyPropertyChanges (http://localhost/components/polymer/polymer.js:12:11598)
at Object.Observer.report_ (http://localhost/components/platform/platform.js:12:12614)
at Object.createObject.check_ (http://localhost/components/platform/platform.js:12:18112)
at c (http://localhost/components/platform/platform.js:12:5465) HTML
<!doctype html>
<html>
<head>
<!-- Style Sheets -->
<!-- <LINK REL=StyleSheet HREF="css/viewer.css" TITLE="ViewerPage"> -->
<!-- Dependencies -->
<!-- Polymer Dependencies -->
<script src="components/platform/platform.js"></script>
<link rel="import" href="components/paper-dropdown-menu/paper-dropdown-menu.html">
<link rel="import" href="components/core-elements/core-elements.html">
<link rel="import" href="components/paper-elements/paper-elements.html">
</head>
<body>
<paper-dropdown-menu selected="Financier" valueattr="label">
<paper-item label="Croissant"></paper-item>
<paper-item label="Donut"></paper-item>
<paper-item label="Financier"></paper-item>
<paper-item label="Madeleine"></paper-item>
</paper-dropdown-menu>
</body>
</html>当按下按钮时,看不到其他值,或者selected.It只是将金融家呈现为一个小方框中的金融家,其中一些第一个纸质项目可见。
我已经使用bower和在聚合物上找到的命令安装了所有上述依赖项,据我所知,它应该为我处理依赖项问题,所以我似乎对为什么会出现上述错误感到困惑。
编辑:
经过进一步的研究,这行代码似乎在components/core-dropdown/core-dropdown-overlay.html:125:26中崩溃了
var dims = this.dimensions;
var margin = dims.margin;发布于 2014-10-25 09:09:34
亚当
这可能是因为安装在您的web服务器上的聚合物组件是旧版本(例如,这发生在0.3.5组分上),而不是在聚合物站点上。您可以在polymer.js文件的头中检查您的版本。
要解决此问题,请首先下载最新的(0.4.2)组件。
升级到0.4.2后,可能会出现以下错误:
Uncaught TypeError: undefined is not a function这是因为当前paper-dropdown-menu下载中包含的core-overlay.html版本有一个拼写错误:
Polymer.flush();从view-source:https://www.polymer-project.org/components/core-overlay/core-overlay.html复制最新代码以将其更正为:
Platform.flush();https://stackoverflow.com/questions/26122043
复制相似问题