【问题标题】:Passing Canvas' 2D Context in Dart在 Dart 中传递 Canvas 的 2D 上下文
【发布时间】:2012-05-03 04:14:43
【问题描述】:

我有一个函数,它接受 CanvasRenderingContext2D 作为参数并进行绘图。每当我尝试通过它时,我都会得到:

CanvasRenderingContext2D is not assignable to CanvasRenderingContext2D

该函数如下所示:

  void draw(CanvasRenderingContext2D context) {
  ...
  }

我认为 Dart 中的所有内容都作为引用传递(就像 JS 一样),这不应该引起这样的问题。有没有办法说我想要引用对象而不是对象本身?或者还有什么我应该知道的?

编辑:

问题在于,我在一个文件中导入了 dart:html,而在另一个文件中导入了 dart:dom。对应的接口名称相同但不同。

【问题讨论】:

  • 你在使用 dart:html 和 dart:dom 吗?
  • 你是对的。那是我的问题。在我意识到 dart:dom 和 dart:html 彼此不兼容之前就出现了这个错误;)

标签: dart parameter-passing dart-html


【解决方案1】:

这可能是因为您在同一个应用程序中使用了dart:domdart:html。为避免此类错误,您应该使用命名空间导入其中一个

#import('dart:html');
#import('dart:dom', prefix: 'dom');

然后您可以访问它们中定义的代码

window     // dart:html window
dom.window // dart:dom window

更多信息见this回答

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2017-03-01
    • 2014-05-25
    相关资源
    最近更新 更多