我正在尝试找到一种干净的方式来使用我创建的两次SVG元素。我想学习使用与dart相关的所有技术,所以我正在尝试使用Polymer。我创建了一个自定义元素,然后我再加载另一个自定义元素。
这是index.html
<link rel="import" href="da-imageTool.html">
</head>
<body>
<da-imageTool ></da-imageTool>
<script type="application/dart">export 'package:polymer/init.dart';</script>
<script src="packages/browser/dart.js"></script>
<script src="packages/browser/interop.js"></script>
</body>
DA-imageTool.html
<polymer-element name="da-imageTool">
<template>
<div class="images" id="mainDiv"></div>
<div class="images" id="secondDiv"></div>
</template>
<script src="da-imageTool.dart" type="application/dart"></script>
</polymer-element>
DA-imageTool.dart
@CustomTag('da-imageTool')
class ImageTool extends PolymerElement{
DivElement div1;
DivElement div2;
ImageEditor ime;
//ImageEditor ime2;
//ImageEditor _selectedEditor;
ImageTool.created(): super.created(){
int a = 1;
}
}
int a = 1只是我设置断点的一行,以找出为什么所有这些都不起作用。 我不明白为什么但是没有创建元素。这是我得到的错误:
Exception: The null object does not have a getter '_observe@0x29474386'.
NoSuchMethodError : method not found: '_observe@0x29474386'
Receiver: null
Arguments: []
HtmlElement&Polymer.observeProperties (package:polymer/src/instance.dart:514:34)
HtmlElement&Polymer.prepareElement (package:polymer/src/instance.dart:153:22)
HtmlElement&Polymer.polymerCreated (package:polymer/src/instance.dart:139:21)
PolymerElement.PolymerElement.created (package:polymer/src/instance.dart:1088:19)
ImageTool.ImageTool.created (http://localhost:3030/FigureSVG/web/da-imageTool.dart:17:24)
答案 0 :(得分:1)
脚本标签与聚合物
一起进入头部
不确定interop.js
脚本。
<head>
<link rel="import" href="da-imageTool.html">
<script type="application/dart">export 'package:polymer/init.dart';</script>
<script src="packages/browser/dart.js"></script>
</head>
<body>
<da-imageTool ></da-imageTool>
<script src="packages/browser/interop.js"></script>
</body>
答案 1 :(得分:1)
我做了几次测试,现在我的代码很简单。使其有效的修正是:
移动脚本标签
将自定义元素全部重写为小写。
我记得曾读过关于强制性宣传的内容,但我没有看到任何关于小写的内容:(警告可能有用。