gpt4 book ai didi

dart - 如何让 WebComponent 类调用我的自定义构造函数?

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

我创建了一个 WebComponent,并在其中为它创建了一个构造函数。运行时,这个构造函数似乎没有被调用,虽然其余的组件可以工作,但它们必须在我的自定义构造函数之外创建。这是我正在谈论的一个例子。

<element name="x-navigation" constructor="Navigation" extends="div">
<template>
<div>{{items}}</div>
</template>
<script type="application/dart">
import 'package:web_ui/web_ui.dart';

class Navigation extends WebComponent {
List<String> items = new List<String>();
Navigation() {
items.add("Hello");
}
}
</script>
<element>

如果我包含这个组件,输出将是一个空列表,就好像我创建的构造函数没有被调用一样。至少应该有“Hello”字符串输出,但事实并非如此。以这种方式创建的构造函数是否被忽略了,或者我错过了什么?

最佳答案

最新版本的Web UI 现在调用构造函数,还有created生命周期方法可供您使用。
以下代码添加了两个 hello :

<element name="x-navigation" constructor="Navigation" extends="div">
<template>
<div>{{items}}</div>
</template>

<script type="application/dart">
import 'package:web_ui/web_ui.dart';

class Navigation extends WebComponent {
List<String> items = new List<String>();

Navigation() {
items.add("Hello first");
}

created() {
items.add("Hello second");
}
}
</script>
<element>
我推荐阅读关于生命周期方法的文章: http://www.dartlang.org/articles/dart-web-components/spec.html#lifecycle-methods
生命周期方法
创建() - 创建组件后稍微调用。
插入() - 每当将组件添加到 DOM 时调用。
属性更改() - 每当组件中的属性更改时调用。
删除() - 每当从 DOM 中删除组件时调用

关于dart - 如何让 WebComponent 类调用我的自定义构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13947748/

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