代码之家  ›  专栏  ›  技术社区  ›  abdolence

Dart+Web用户界面和动态客户端模板

  •  0
  • abdolence  · 技术社区  · 11 年前

    有没有什么好的方法可以用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>
    
    3 回复  |  直到 11 年前
        1
  •  0
  •   Siggi Cherem    11 年前

    目前,无法使用WebUI动态加载和处理模板。WebUI需要提前处理模板。我认为@ChrisBuckett从其他答案/评论中提出的建议是一个很好的方法:当延迟加载可用时使用它。

    另一个疯狂的想法是将web ui编译器与您的应用程序一起发货,并在浏览器中处理模板。注意,这在今天甚至是不可能的,因为web ui目前无法使用dart2js编译(它对dart:io有一些依赖关系)。假设,如果可能的话,它可能会比运送额外的模板大得多。所以,如果你的目标是减少最初的下载量,那么这个想法是行不通的。

        2
  •  0
  •   Allan    11 年前

    我正在开发一个单页应用程序,该应用程序根据左侧选择的菜单将新内容动态加载到页面的内容部分。内容部分是从WebUi组件填充的,但它确实是动态发生的,而且确实发生在客户端。在菜单上,我有一些类似的东西;

            <li> <a href="#/active">Active</a> </li>
            <li> <a href="#/completed">Completed</a> </li>
    

    在这里,我让应用程序在单击菜单项时对哈希变化做出响应。他们在ToDo应用程序的WebUi实现中做了类似的事情。

    内容具有一个条件模板,该模板根据所选菜单加载WebUi组件。

    这可能不是你想的。如果我偏离了轨道,请提供更多详细信息。

        3
  •  0
  •   Greg Lowe    11 年前

    现在可以执行Dart代码的延迟加载。如果您的客户端模板是作为Dart源代码实现的,那么您可以使用 DeferredLibrary

    一篇更详细的文章可能很快就会出现在 articles section Dart网站。