Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Dart中创建复合构件?_Dart - Fatal编程技术网

如何在Dart中创建复合构件?

如何在Dart中创建复合构件?,dart,Dart,如何在Dart中创建复合构件 我想用结构化输入字段创建一些业务表单:标签、输入文本、字段特定错误消息的位置?所有表单都将使用数据驱动的方法创建,因此需要以编程方式完成 它是否像子类化DivElement然后添加应用了某些样式的组件一样简单 我一直在使用dart编辑器尝试构建一些可以实现这一点的类,但运气不太好。所有示例都非常独特,与业务数据输入等没有太大关系。DivElement只是DOM div元素的包装,因此不能直接扩展它。然而,新的网络技术正在很好地帮助你解决这个问题。看看达特的。还有一些

如何在Dart中创建复合构件

我想用结构化输入字段创建一些业务表单:标签、输入文本、字段特定错误消息的位置?所有表单都将使用数据驱动的方法创建,因此需要以编程方式完成

它是否像子类化DivElement然后添加应用了某些样式的组件一样简单


我一直在使用dart编辑器尝试构建一些可以实现这一点的类,但运气不太好。所有示例都非常独特,与业务数据输入等没有太大关系。

DivElement只是DOM div元素的包装,因此不能直接扩展它。然而,新的网络技术正在很好地帮助你解决这个问题。看看达特的。还有一些社区UI库提供此功能。您可以找到它们。

DivElement只是DOM div元素的包装器,因此无法直接扩展它。然而,新的网络技术正在很好地帮助你解决这个问题。看看达特的。还有一些社区UI库提供此功能。您可以找到它们。

不幸的是,您无法从DOM中对元素进行子类化。。。然而(这不是Dart的问题,而是web开发的一般问题。)然而,正在构建一个称为“web组件”的新系统来解决这个(和其他)问题

Dart支持Web组件,您可以将Web组件编译成普通的HTML/JavaScript/CSS,并在现代浏览器中运行。您可以使用Web组件封装样式、结构和行为。这将为您提供所需的基本嵌套/合成

下面是具有行为的表单的示例组件:


导入“model.dart”;
导入“package:web_components/web_component.dart”;
类FormComponent扩展了WebComponent{
void addTodo(e){
e、 preventDefault();//不提交表单
如果(_newTodo.value='')返回;
app.Todo.add(新Todo(_newTodo.value));
_newTodo.value='';
}
}
您可以像这样使用此自定义元素:


飞镖
待办事项
请注意
部分中的
标记,该标记用于拉入组件。然后注意
自定义标记,它是您在第一个示例中构建的自定义组件

塔达!自定义和组合元素!:)


该软件是可用的。还提供了一个。请注意。

不幸的是,您无法对DOM中的元素进行子类化。。。然而(这不是Dart的问题,而是web开发的一般问题。)然而,正在构建一个称为“web组件”的新系统来解决这个(和其他)问题

Dart支持Web组件,您可以将Web组件编译成普通的HTML/JavaScript/CSS,并在现代浏览器中运行。您可以使用Web组件封装样式、结构和行为。这将为您提供所需的基本嵌套/合成

下面是具有行为的表单的示例组件:


导入“model.dart”;
导入“package:web_components/web_component.dart”;
类FormComponent扩展了WebComponent{
void addTodo(e){
e、 preventDefault();//不提交表单
如果(_newTodo.value='')返回;
app.Todo.add(新Todo(_newTodo.value));
_newTodo.value='';
}
}
您可以像这样使用此自定义元素:


飞镖
待办事项
请注意
部分中的
标记,该标记用于拉入组件。然后注意
自定义标记,它是您在第一个示例中构建的自定义组件

塔达!自定义和组合元素!:)


该软件是可用的。还提供了一个。看电视。

约翰,你太谦虚了。有些人告诉他你是如何在Buckshot中做到这一点的。:)是的,对于一般性问题,我更倾向于保持中立。我提供了一些选择。这实际上取决于个人对哪种框架最满意的选择。约翰,你太谦虚了。有些人告诉他你是如何在Buckshot中做到这一点的。:)是的,对于一般性问题,我更倾向于保持中立。我提供了一些选择。这实际上取决于个人选择他们最喜欢的框架。