gpt4 book ai didi

dart - 内部错误:…模棱两可的引用: 'DataGrid'在库web/DataGrid.dart和web/out/DataGrid.dart中定义

转载 作者:行者123 更新时间:2023-12-03 03:48:00 25 4
gpt4 key购买 nike

我使用web-ui创建了一个简单的数据网格进行测试,并使其正常运行。然后,我决定尝试将其声明为组件。我更改了库引用,现在尝试运行该应用程序时,它给了我上面的错误。您可以在下面看到我的文件结构。我尝试运行它时收到“歧义引用”消息的原因是,当我进入out目录中的自动生成的DataGrid.dart文件时,它具有以下声明

import 'DataGrid.dart';
...
import '../DataGrid.dart';

我对为什么生成的代码同时导入这两者感到困惑。我考虑的一件事可能是因为DataGridPage.html文件实例化了DataGrid组件,而DataGridPage.dart文件却导入了DataGrid.dart,以便它可以引用DataGridColumn(它需要为DataGrid设置列)。在DataGridPage.dart中,我还附加到某些DataGrid事件,例如SortColumnChanged和SelectionChanged,因此我需要在DataGridPage.dart中请求我的DataGrid实例的副本(我认为无法通过Web组件将其附加到事件DataGridPage.html中的实例化)。

关于我在做什么错的任何想法吗?

这是我的文件结构:
DataGrid.dart
--------------------------------------------
library datagrid;
...
part 'DataGridColumn.dart';
part 'DataGridRow.dart';
class DataGrid extends WebComponent{...}

DataGridRow.dart
--------------------------------------------
part of datagrid;
class DataGridRow {...}

DataGridColumn.dart
--------------------------------------------
part of datagrid;
class DataGridColumn {...}

DataGrid.html
--------------------------------------------
[contains the component declaration UI]

DataGridPage.html
-----------------------------------------
...
<div is="s-datagrid" id="myDataGrid" ItemsSource="{{app.Assets}}" Columns="{{app.Columns}}"></div>
...

DataGridPage.dart
--------------------------------------------
import 'DataGrid.dart';
import 'Asset.dart';
void main() {
}
DataGridApp _app;
DataGridApp get app {
if (_app == null) {
_app = new DataGridApp();
}
return _app;
}
class DataGridApp{
//provides ItemsSource and DataGridColumn data
}

最佳答案

jmesserly在github站点上回答了这个问题。他说,您需要删除主dart文件中的组件导入。因此,在我的示例中,我将从DataGridPage.dart中删除import'DataGrid.dart'语句。 IDE会给您警告,但您可以忽略它,因为它实际上是从out文件夹运行的。

GitHub Web-UI Issue 342

关于dart - 内部错误:…模棱两可的引用: 'DataGrid'在库web/DataGrid.dart和web/out/DataGrid.dart中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14653235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com