飞镖聚合物支架。 main()调用每个shadowdom。顶级DART变量会失去价值

时间:2014-12-03 21:45:56

标签: dart polymer scaffold

我是DART的新手。花了很多年做OO(PDC)Prolog。我有初学者对HTML5和CSS3的了解。

我开始玩聚合物纸张元素(sampler-scaffold)。我有(纸张项目)s作为左侧菜单,每个项目打开一个不同的HTML页面。在视觉上,它看起来和行为都很好。

1)据我了解,为每个HTML页面调用main(),因为它们是影子doms。所以我的应用程序有多个main()s - 是吗?每次从菜单中选择页面时,都会调用每个main()。我试图通过使用全局变量来控制每个main()的作用......下一步。

2)我有一个顶级DART变量 - bool is_init ,未初始化。在index.dart的main()调用中,我将其设置为一个值。我看了它,看它是否正确。单击菜单打开"子页面"后,该页面的main()中已经为NULL。

我也试过在库中的类中做同样的事情 - 当然,由于上述问题,初始化的对象变为null!

我显然在这里误解了一些东西。线索和建议最受赞赏。 干杯 史蒂夫

1 个答案:

答案 0 :(得分:2)

1)您只有一个main()用于Polymer应用程序(如index.html的输入页面)。您可以在一个your_package/web目录中拥有多个Polymer应用,但每个应用都有一个main()方法。

如果所有自定义代码都在Polymer元素中,您甚至不需要这个main()方法,因为Polymer.dart提供了一个默认代码(有关详细信息,请参阅how to implement a main function in polymer apps

main()Shadow DOM无关,完全没有任何关系。

  

每次从菜单中选择页面时,都会调用每个main()。

如果您的每个菜单项链接到不同的Polymer应用程序,这可能是真的,但是对于Dart和Polymer.dart,您通常构建单页应用程序,其中单击菜单不会加载不同的应用程序而是更改显示当前应用程序(请参阅http://en.wikipedia.org/wiki/Single-page_application)。

2)我不完全明白这是什么。也许你应该提供一些具体的代码并命名一些包含该代码的具体文件名。 请相应地修改您的问题。