如果Angular.dart依赖于影子dom,这是一个问题吗?

时间:2013-11-17 09:19:48

标签: dart angular-dart shadow-dom

我刚刚开始编写一个Web应用程序,我认为使用Dart和Angular.dart会很有趣。我已经使用了Dart和Angular.js,我喜欢它们。

我希望这个应用程序实际上可以被大多数互联网用户使用,但似乎Angular.dart(或者至少一些Angular.dart)依赖于影子dom。据我所知,Chrome是唯一支持影子dom的主流浏览器,即使Firefox,IE和Safari都实现了它,也可能需要几年时间。

我实际上尝试使用dart2js编译器从Angular.dart教程中运行Chapter 3,并且它所做的页面似乎在Chrome中正常工作,但在Firefox和IE11中失败。

我的评估准确吗?至少在Angular.dart在Chrome之外有用之前可能需要几年时间吗? Angular.dart是否有计划允许替代它对阴影dom的依赖?

我担心我会被迫在Angular.js之间做出选择(不是那么有趣),Dart可能只有Polymer.dart(不是很好/容易构造)。

3 个答案:

答案 0 :(得分:4)

在大多数情况下,在不支持它的浏览器上使用Shadow DOM不是问题。有一个polyfill可以为每个现代浏览器添加对Shadow DOM的支持。

我不确定Angular.dart的状态,但至少Polymer.dart会自动包含Shadow DOM polyfill。

使用Shadow DOM应该不是问题。

答案 1 :(得分:2)

Shadow DOM将成为某些移动浏览器的问题。 Shadow DOM补丁/解决JavaScript(为没有内置的浏览器提供功能)还没有完全存在并且经常遭受错误。我甚至不得不使用它的调试版本一段时间。

虽然我在制作中使用Angular.dart(以及Shadow DOM),但如果你能避免它,我不会推荐它。目前。虽然将来它会非常棒。

所以,实际上,我认为这是一个问题。聚合物和现在的Angular.dart正在展望未来,这很棒......但除非你真的可以控制一些东西,否则不应该使用它们。如果您可以构建一个只知道人们使用特定浏览器的应用,那么您就不会遇到问题。否则,你肯定会。在某些时候。

答案 2 :(得分:0)

您必须考虑shadowDOM中样式内容的差异。 根据您的要求,这可能是优势或劣势。

A Guide to Styling Elements