我正在使用 AngularJS 和 OnsenUI 开发 Cordova 应用程序。关于调用 ons.bootstrap() 的文档有问题。
具体来说,我习惯于在需要时在 Cordova 中手动引导 AngularJS 应用程序——即,当 DOM 加载时,如果我在浏览器中,或者当 deviceready 事件触发时,如果我在设备上,调用到 angular.bootstrap(document, ['myApp'])。
我注意到在 Onsen 中,有必要调用 ons.bootstrap,有或没有其他参数,例如 ons.bootstrap('myApp', [...dependencies...])。我一直在摆弄这个,似乎我可以注入 Onsen 的唯一方法是如果我使用它的引导调用。但是,在我的应用程序文件的其他地方,我仍在使用角度定义(例如, angular.module('myApp', [...dependencies...]).config(...).run(... )) 等等。
我发现了一些有问题的实现,并且无法在网上找到明确的答案:
1)如果我在初始化中调用 angular.bootstrap,Onsen 永远不会加载
2)如果我使用 ons.bootstrap 调用,事情似乎可以工作,但我最终会在 bootstrap 调用中重复我的依赖关系以及我使用 angular 的应用程序定义。这种冗余对我来说似乎很糟糕。
3) 如果我同时使用这两个调用(并非意外),我会收到 isWebView() 已定义错误,并且应用程序无处可去。
不幸的是,Onsen 网站上的所有示例都假定所有代码(HTML、JS 等)都喜欢驻留在一个位置,并且似乎没有考虑 Cordova。我过去使用过 Onsen,但在几个版本之前,旧的注射方法似乎不再有效。
所以我的问题是,你应该以什么方式引导和使用 Onsen、Angular 和 Cordova?或者,是否有一个不涉及 Monaca 的好例子?
提前致谢。