gpt4 book ai didi

dart - 是什么导致了 NoSuchMethodError 实现?

转载 作者:行者123 更新时间:2023-12-04 06:44:16 31 4
gpt4 key购买 nike

我收到以下错误:

Stack Trace: #0      NoSuchMethodErrorImplementation._throwNew (dart:core-patch:641:3)
#1 init_autogenerated (http://127.0.0.1:3030/C:/dev/CalendarDatePicker/CalendarDatePicker/web/out/CalendarDatePicker.dart:43:26)
#2 main (http://127.0.0.1:3030/C:/dev/CalendarDatePicker/CalendarDatePicker/web/out/CalendarDatePicker.html_bootstrap.dart:7:30)

这是我的 View 代码:

<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<title>CalendarDatePicker</title>
<link rel="stylesheet" href="CalendarDatePicker.css">
</head>
<body>
<element name="calendar" constructor="Calendar" extends="div">
<template>
<table>
<tr>
<th>Sun</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
</tr>
</table>
</template>
</element>
<div is="calendar"></div>
<script type="application/dart" src="CalendarDatePicker.dart"></script>
<script type="text/javascript" src="https://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
</body>
</html>

这是我的主要脚本:

import 'dart:html';
import 'dart:core';
import 'package:web_ui/web_ui.dart';


void main() {

}

class Calendar extends WebComponent
{

}

这行自动生成的代码失败了:

new Calendar.forElement(__e0)
..created_autogenerated() //Exception: No such method: 'Calendar.forElement'
..created()
..composeChildren();

最佳答案

您应该更改 <element> name所以它以 x- 开头:

<element name="x-calendar" constructor="Calendar" extends="div">

<div is="calendar"></div>到:

<x-calendar></x-calendar>

或者您可以使用 is=语法,如果您愿意的话。

这些是建议的更改,但不能解决问题。如果

class Calendar extends WebComponent {}

进入<element>本身(作为 <template> 的 sibling )在 <script> 中标签。

另一种方法是将您的组件代码隔离在一个单独的文件中,并使用正确的语法显式导入它。像这样:

<link rel="components" href="calendar_component.html">

因此,我已将您的应用分解为 4 个文件。 calendarPicker.html ,主要的 html 文件,看起来像这样:

<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<title>CalendarDatePicker</title>
<link rel="stylesheet" href="calendarDatePicker.css">
<link rel="components" href="calendar_component.html">
</head>
<body>
<x-calendar></x-calendar>

<script type="application/dart" src="calendarDatePicker.dart"></script>
<script type="text/javascript" src="https://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
</body>
</html>

calendarDatePicker.dart非常小:

import 'dart:html';
import 'package:web_ui/web_ui.dart';

void main() {}

您的组件代码 ( calendar_component.dart) 具有以下代码:

<!DOCTYPE html>
<html>
<body>
<element name="x-calendar" constructor="CalendarComponent" extends="div">
<template>
<table>
<tr>
<th>Sun</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
</tr>
</table>
</template>
<script type="application/dart" src="calendar_component.dart"></script>
</element>
</body>
</html>

随附的 dart 文件 ( calendar_component.dart) 中包含组件类:

import 'package:web_ui/web_ui.dart';

class CalendarComponent extends WebComponent {}

希望这对您有所帮助。我使用您提供的代码构建了应用程序并复制了错误;然后,我用这里显示的代码重建它。它运行没有任何错误。

关于dart - 是什么导致了 NoSuchMethodError 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14203141/

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