Dart语言:聚合物-使用视图

Dart语言:聚合物-使用视图,dart,dart-polymer,Dart,Dart Polymer,我正在Dart上开发我的第一个“复杂”应用程序,在如何使用多个视图方面遇到了一些问题(我希望开发在单个页面中运行的应用程序) 首先,我假设这(使用聚合物)是处理应用程序各种视图(或“应用程序屏幕”)的正确方法。但是,如果不是,我想知道(当然)。通过“应用程序屏幕”,我说的是类似于用Java创建各种表单的东西 例如,我在页面顶部有两个按钮。单击第一个时,将显示一个带有用户注册区域的视图。单击第二个按钮时,将显示具有可编辑栅格的视图 你能给我一些这个简单应用程序的代码示例吗?你可以像对任何原生元素一

我正在Dart上开发我的第一个“复杂”应用程序,在如何使用多个视图方面遇到了一些问题(我希望开发在单个页面中运行的应用程序)

首先,我假设这(使用聚合物)是处理应用程序各种视图(或“应用程序屏幕”)的正确方法。但是,如果不是,我想知道(当然)。通过“应用程序屏幕”,我说的是类似于用Java创建各种表单的东西

例如,我在页面顶部有两个按钮。单击第一个时,将显示一个带有用户注册区域的视图。单击第二个按钮时,将显示具有可编辑栅格的视图


你能给我一些这个简单应用程序的代码示例吗?

你可以像对任何原生元素一样,对聚合物元素使用CSS样式属性

您可以这样查询:

Element e = querySelector('my-form');
然后隐藏/显示它:

e.style.display = 'none';
e.style.display = 'block';
初始化聚合后,可以使用元素的类(如果存在):

然后,您可以继续设置类的属性(如果需要),或者使用style属性,因为该类继承自HtmleElement

您也可以使用类来实现这一点。Dart具有一些“切换”功能:

element.classes.toggle('hidden');
element.classes.toggle('shown');

尊敬的Robert

如果功能正常,您可以使用
模板。
这样,当前未处于活动状态的视图将自动从DOM中删除,并在模型属性更改时自动再次插入



有不同的方法。例如,这取决于您是否希望元素在不可见或不可见时使用其空间。我认为设置
hidden
属性应该隐藏它(没有任何进一步的CSS),
可见性
样式(
hidden
visible
)或
显示
样式属性,如上所示。你也可以使用
不透明度
样式使其透明(这样它仍然使用页面上的空间,但不可见),这是正确的,但最后它只是改变属性/样式:)我认为你的答案是正确的,我只是认为指出有不同的方法来实现这一点会有伤害。你是对的,只是设置属性、样式和/或类:DRobert和Günter,我不明白为什么这种方法与其他方法如此不同。问题是,这与其他方法具有相同的效果,如?事实上,我问这个问题是因为Web UI似乎被Polymer所取代。我对这个问题进行了编辑,以使我更清楚地了解Polymer在寻找什么。谢谢,Günter。因此,我的应用程序页面将导入所有聚合物元素并运行检查。但这是否会以任何方式影响性能,或者仅仅是活性聚合物实际加载到用户浏览器并占用资源?这就是重点。当前,当您输入URL时,Dart浏览器应用程序的所有源代码都会立即加载,但只有if表达式计算结果为true的模板中的元素才会添加到DOM中(稍后计算结果为false时删除)。我不知道延迟加载的确切状态。有几个部分已经着陆了,但我不知道它是否真的在实践中起作用。但当它这样做时,只会加载应用程序中实际需要的部分,而其他部分仅在调用时从服务器获取。
element.classes.toggle('hidden');
element.classes.toggle('shown');