有没有什么好方法可以使用Web-UI构建Dart应用程序并通过网络新的HTML模板动态加载(客户端模板)?
看起来Web UI模板总是与生成的* .js文件一起加载:
<head>
<!-- this will be transformed by WebUI compiler to *_generated.js code -->
<link rel="components" href="common_templates.html">
</head>
答案 0 :(得分:0)
我正朝着单页面应用程序工作,该应用程序根据左侧选择的菜单将新内容动态加载到页面的内容部分。内容部分从WebUi组件填充,但它确实是动态发生的,它确实发生在客户端。在菜单上,我有类似的东西;
<li> <a href="#/active">Active</a> </li>
<li> <a href="#/completed">Completed</a> </li>
当我点击菜单项时,应用程序响应哈希更改。他们在ToDo应用程序的WebUi实现中做了类似的事情。
内容有一个条件模板,可根据所选菜单加载WebUi组件。
这可能不是你的想法。如果我在这里偏离轨道,请提供更多细节。
答案 1 :(得分:0)
目前,无法使用WebUI动态加载和处理模板。 WebUI需要提前处理模板。我认为来自其他答案/评论的@ChrisBuckett建议是一个很好的方法:在可用时使用延迟加载。
另一个疯狂的想法是将web-ui编译器与您的应用程序一起发布并在浏览器中处理模板。注意,今天甚至不可能这样,因为web-ui目前无法用dart2js编译(它对dart有一些依赖关系:io)。假设,如果可能的话,它可能会比运送额外的模板大得多。所以,如果你的目标是减少初始下载,那么这个想法是不行的。
答案 2 :(得分:0)
现在可以执行Dart代码的延迟加载。如果您的客户端模板是作为Dart源实现的,则可以使用DeferredLibrary类。
更详细的文章可能会很快出现在Dart网站的articles section。