我将我的应用程序封装在Polymer元素中,我想在其中使用其他聚合物元素。要调用内部元素的所有方法,我试图使用$ []。 内部的外部聚合物元素我有这个:
ImageEditor ime;
DivElement div2;
ImageTool.created(): super.created(){
div2 = $["secondDiv"];
ime = $["imageEditor1"]
}
在Html中,我只想:
<polymer-element name="da-imagetool">
<template>
<div class="images" id="mainDiv">
<da-imageeditor id="imageEditor1" name="ied"></da-imageeditor>
最后用脚本src。 出于某种原因,当我将imageEditor1分配给ime时会出现异常。
异常:类型'HtmlElement'不是'value'类型'ImageEditor'的子类型。
答案 0 :(得分:1)
看起来浏览器尚未升级<da-imageeditor>
元素。
确保您<import>
<da-imageeditor>
元素,并在@CustomTag
类声明中使用正确的ImageEditor
注释。
答案 1 :(得分:0)
这很可能是导入路径的问题。 如果您不使用正确的路径,则无法识别类型(规范化问题)
这个bug应该在一段时间内解决 https://code.google.com/p/dart/issues/detail?id=15953 但我从未与Polymer合作过。
显示您的导入路径(HTML和Dart)以及您应用的目录结构(您的输入页面和您的Polymer元素在哪里)然后我会看一下。
答案 2 :(得分:0)
您使用的是哪种版本的飞镖聚合物?使用0.9.5,以下几行:
XElement.created(): super.created() { print($['el-id']); }
void enteredView() { print($['el-id']); }
在created()中,被引用的元素什么都没有,而在enteredView()中,它确实引用了阴影根的特定元素。
如果使用shadowRoot.querySelector('#el-id')
代替速记地图$['el-id']
,行为就会消失。