由于Dart是一种浏览器目标语言,它看起来构建UI的演示代码都是基于dom的。所以我的问题是:我们可以在Dart中使用声明式ui风格吗?比如GWT的UIBinder,还是JavaFX的FXML?
答案 0 :(得分:1)
像GWT的UiBinder中的声明式UI定义是Dart中令人期待已久的功能。不幸的是,还没有用于此目的的内置Dart库。 Google's first own templating lib approach在6月11日最后一次提交时被处理掉了。显然Google正在研究一种全新的UI方法。
然而,有第三方开发人员在Dart之上提供包含声明性UI定义的框架,例如: Buckshot UI framework这里是demo how it works。
答案 1 :(得分:0)
请查看John Evans的Buckshot。这是Dart的声明性UI。
以下是一个例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TreeView</title>
</head>
<body>
<div id='BuckshotHost'></div>
<script id='main' type='text/xml'>
<treeview name='tvDemo' borderthickness='1' bordercolor='Black' >
<treenode header='Tree Node L1A' >
<treenode header='Tree Node L2A (custom icon)' >
<fileicon>
<border width='20' height='20' cornerradius='20' background='Orange' />
</fileicon>
</treenode>
<treenode header='Tree Node L2B'>
<treenode header='Tree Node L3A' />
<treenode header='Tree Node L3B' />
<treenode header='Tree Node L3C' />
</treenode>
<treenode header='Tree Node L2C' />
</treenode>
<treenode header='Tree Node L1B' />
</treeview>
</script>
<script type="application/dart" src="TreeViewDemo.dart"></script>
<script src="dart.js"></script>
</body>
</html>