您好,我的情况是我无法弄清楚的。当我运行一个非常简单的例子时,我从Dart得到这些错误:
[13288:9212:0320/161303:ERROR:navigation_entry_screenshot_manager.cc(147)] Invalid entry with unique id: 3
[14080:11508:0320/155717:ERROR:chrome_views_delegate.cc(185)] NOT IMPLEMENTED
[14080:11508:0320/155717:ERROR:desktop_root_window_host_win.cc(753)] NOT IMPLEMENTED
[14080:11508:0320/155719:ERROR:desktop_root_window_host_win.cc(753)] NOT IMPLEMENTED
[14080:11508:0320/155747:ERROR:extension_icon_image.cc(201)] Start loading extension icon for Chromium. scale = 1
这些消息并未真正连接到用例I实施。我尝试使用调试和其他工具已经不太确实。我已经减少了#39;基于DartPolymer示例的简单示例的问题:
本教程定义了一个名为<tut-stopwatch>
的DartPolymer组件。在我的示例中,我将该元素复制为两个克隆:<x-fred>
和<z-fred>
。除了名称和标签之外, diff 命令中的所有内容都相同。
主索引 .html页面的布局如下:
<body>
<x-fred> </x-fred>
<hr/>
<h1>Stopwatch</h1>
<tut-stopwatch> </tut-stopwatch>
<hr/>
<z-fred> </z-fred>
</body>
我在DOM注册调用和秒表创建者(构造函数)上设置了一个断点:
class TuteStopwatch extends PolymerElement {
@observable String counter='00:00';
TuteStopwatch.created() : super.created();
:
}
&#34; 唯一ID消息&#34;正如我所说的那样:
[13288:9212:0320/161303:ERROR:navigation_entry_screenshot_manager.cc(147)] Invalid entry with unique id: 3
调试期间。与执行的代码没有明确的联系,我认为这是一条异步消息,与<tut-stopwatch>
组件的注册无关。
另外两个示例(名称不同,仅标签):<x-fred>
和<z-fred>
正常工作。只是<tut-stopwatch>
元素造成问题。
这是困难有两个原因:
<tut-stopwatch>
示例正常工作。显然,我需要在哪里寻找问题。这让我想起了那些游戏:&#34; 其中一个与另一个不同。 。 。&#34;
提前致谢。
<小时/>
基于:Define a Custom Element示例:
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:html';
import 'dart:async';
import 'package:polymer/polymer.dart';
@CustomTag('tute-stopwatch')
class TuteStopwatch extends PolymerElement {
@observable String counter='00:00';
TuteStopwatch.created() : super.created();
Stopwatch mywatch = new Stopwatch();
Timer mytimer;
:
}
@CustomTag('x-fred')
//@CustomTag('tute-stopwatch')
class XFred extends PolymerElement {
@observable String counter='00:00';
XFred.created() : super.created();
Stopwatch mywatch = new Stopwatch();
Timer mytimer;
Stopwatch mywatch = new Stopwatch();
Timer mytimer;
:
}
TuteStopwatch{...}
类与<x-fred>
和<z-fred>
<之间没有名称空间冲突/ LI>
此文件位于tute_stopwatch.dart自己的文件夹中:
元素/ fred的/ tute_stopwatch.html
<template>
<style>
:host {
background-color: yellow;
text-align: center;
display: inline-block;
border: solid 1px;
padding: 10px 10px 10px 10px;
}
</style>
<div>
<div> stopwatch:
{{counter}}
</div>
<div>
<button on-click="{{start}}" id="startButton">Start</button>
<button on-click="{{stop}}" id="stopButton">Stop</button>
<button on-click="{{reset}}" id="resetButton">Reset</button>
</div>
</div>
</template>
<script type="application/dart" src="tute_stopwatch.dart"> </script>
此文件位于Fred.dart自己的文件夹中:
元素/ fred的/ fred.html
<template>
<style>
:host {
background-color: blue;
text-align: center;
display: inline-block;
border: solid 1px;
padding: 10px 10px 10px 10px;
}
</style>
<div>
<div> fred:
{{counter}}
</div>
<div>
<button on-click="{{start}}" id="startButton">Start</button>
<button on-click="{{stop}}" id="stopButton">Stop</button>
<button on-click="{{reset}}" id="resetButton">Reset</button>
</div>
</div>
</template>
<script type="application/dart" src="fred.dart"> </script>
答案 0 :(得分:0)
我已将失败的案例放在GitHub上: - https://github.com/aplatypus/dart-experiments
此版本无法显示tute-stopwatch元素。然而,具有不同名称的克隆可以正常工作。相同的代码,只是不同的名称。
我可以报告我有一个解决方法。我或多或少地确信它是Dart或Dart编辑器的错误。
修复方法是手动重命名:&lt; tute-stopwatch &gt; to:&lt; x-stopwatch &gt;
(相同)代码的x-stopwatch版本然后工作正常。然后我再次将自定义元素重命名为:
现在:&lt; tute-stopwatch &gt;工作中。
我不认为它是一个令人满意的解决方案因为我几乎清除了项目文件夹和Packages缓存几次。我想到了一些悬念。
此外,我仍然看到奇怪的错误:
F:\.bin\dev\dart\dev\chromium\Chrome.exe --remote-debugging-port=59082 --user-data-dir=C:\Users\william\.dartium --enable-experimental-web-platform-features --enable-html-imports --no-first-run --no-default-browser-check --no-process-singleton-dialog chrome://version/
[18040:16896:0322/210119:ERROR:chrome_views_delegate.cc(185)] NOT IMPLEMENTED
[18040:16896:0322/210119:ERROR:desktop_root_window_host_win.cc(753)] NOT IMPLEMENTED
[18040:16896:0322/210121:ERROR:desktop_root_window_host_win.cc(753)] NOT IMPLEMENTED
当我完全移除tute-stopwatch元素时,消息消失了,但我仍然看到:
[18040:16896:0322/210647:ERROR:navigation_entry_screenshot_manager.cc(147)] Invalid entry with unique id: 6
&#39; 唯一身份证号码&#39;当然,从跑步到跑步的变化。
我想我会发布结果。如果您遇到类似情况,请为相关元素尝试不同的名称。这可能有助于某些人面临类似的怪异。