检测网页是否使用带有JavaScript的Angular 2+

时间:2017-11-27 21:18:52

标签: javascript angular

我在Angular 2应用程序之上使用Google Polymer,我需要在Polymer JavaScript中确定是否运行Angular 2中的页面。我曾在if (window.ng) {}工作的地方看过,直到昨天它还有我。现在,它可以在localhost中运行,但已停止在我的测试和生产服务器上运行。现在,window.ng未定义。

当我调试Polymer JavaScript并慢慢地执行它时,我收到以下控制台错误:

(WEB_PAGE context) Lazy require of app.binding did not set the binding field
(WEB_PAGE context) Lazy require of webstore.binding did not set the binding field
(WEB_PAGE context) Lazy require of runtime.binding did not set the binding field

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

Angular会自动将属性ng-version添加到根组件的标记中,因此您可以像这样解析该属性的值,假设根组件是body

的第一个子组件
const majorVersion = parseInt(document.body.children[0].getAttribute('ng-version').split('.')[0])
console.log(majorVersion >= 2);