机会:
您好,我有一种情况我根本无法弄清楚。当我运行一个非常简单的示例时,我从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
消息实际上并没有连接到我正在实现的用例。我使用调试和其他工具的尝试确实没有多大作用。我已将问题“简化”为一个基于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();
:
}
我称之为“唯一ID消息”:
[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>
示例,工作正常。 显然,我需要在哪里寻找问题的指导。它让我想起了那些游戏:“其中之一不一样。”
提前致谢。
码
< tut-秒表>
基于: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;
:
}
< x-fred >
@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>
tut_stopwatch.html
该文件位于带有tute_stopwatch.dart的文件夹中:
<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.html(< x-fred >)
该文件位于Fred.dart所在的文件夹中:
<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>
最佳答案
的github
我把失败的案例放在了这里:
-https://github.com/aplatypus/dart-experiments
此版本无法显示tute-stopwatch元素。但是使用其他名称的克隆可以正常工作。相同的代码,只是名称不同。
解决方法
我可以报告我有一个解决方法。我或多或少相信它是Dart或Dart Editor的错误。
解决方法是手动重命名:< tute-stopwatch >到:< x-stopwatch >
然后,(相同)代码的x秒表版本正常运行。然后,我再次将自定义元素重命名为:
现在,< tute-stopwatch >正在运行。
我认为它的分辨率不令人满意,因为我几乎清除了项目文件夹,并且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
当然,“唯一ID”的数字会在每次运行之间变化。
我以为我会发表结果。如果您遇到类似情况,请为该元素尝试使用其他名称。这可能会帮助面临类似古怪的人。
关于dart - 错误chrome_views_delegate.cc(185)-未实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22524474/