我正在使用AngularJS和Onsenui进行Cordova应用程序。我在有关访问ons.bootstrap()的呼叫方面的文档方面遇到了麻烦。
具体来说,我被用来在需要时在Cordova中手动引导AngularJS应用程序 - 即,如果DOM加载,如果我在浏览器中,或者当DevicereadydivicereadydiveddivediviceReady触发时,如果我在设备上,呼叫to angular.bootstrap(文档,['myApp'])。
我注意到,在Onsen中,有或没有其他参数,例如ons.bootstrap('myapp',[...依赖项...])。我已经摆弄了这一点,似乎我可以注入Onsen的唯一方法是使用其自举调用。但是,在我的应用程序文件的其他地方,我仍在使用Angular定义(例如,Angular.Module('myApp',[... dependencies ...])。配置(...)。运行(...)等等。
我发现了几件事是可疑的实施方法,并且无法在线找到有关此的确定答案:
1)如果我在初始化中调用angular.bootstrap,onsen永远不会加载
2)如果我使用ons.bootstrap呼叫,事情似乎有效,但是我最终会在引导呼叫中重复我的依赖关系,以及使用Angular的应用程序定义。这种冗余对我来说似乎很不好。
3)如果我使用两个呼叫(不是出乎意料的),我会得到一个已经定义的错误,并且该应用程序无处可去。
不幸的是,Onsen网站上的所有示例都假设所有代码(HTML,JS等)都喜欢居住在一个位置,并且似乎并不考虑Cordova。我过去曾使用过Onsen,但是几个版本以前,旧的注射方法似乎不再起作用。
所以我的问题是,您应该一起引导和使用Onsen,Angular和Cordova的方式是什么?另外,在某个地方是否有一个很好的例子,不涉及摩纳哥?
预先感谢。
当然有很好的例子。您是否尝试过基本的Onsen UI模板?它们在Onsen UI的"入门"指南中提供,并回答您的所有问题:http://onsen.io/download.html#download-templates
简而言之,Onsen UI与Monaca独立,唯一的区别将是您的index.html
中包括Monaca的loader.js
(包括Onsenui,Angularjs,Cordova等),或分别包括所有库。另外,ons.bootstrap()
是可选的,可以使用angular.module('app', ['onsen'])
。
也可以使用Cordova,您只需要像其他任何Cordova应用程序一样包含Cordova文件。您可以在模板中看到它。
如基本模板,有很多例子。更多示例:
Onsen UI的github:https://github.com/onsenui/onsenui/tree/master/master/demo
Onsen UI的博客:http://onsen.io/blog/developing-hybrid-mobile-apps-with-onsen-ui/
希望它有帮助。
好吧,出于某种原因,我能获得适当初始化的唯一方法是使用Onsen Bootstrap方法并使IT加载所有依赖项。由于ons.bootstrap()
返回角模块,我现在使用它。
本质上,在Cordova deviceready
事件中,我致电:
angular.module('myApp.controllers', []);
angular.module('myApp.services', []);
ons.bootstrap('myApp', [ ...dependencies... ]);
是的,那里有很多示例,但是那些结合了科尔多瓦并锻炼合理的组织传真是如何使用实际代码,因为在不同文件中定义了不同的对象,在多个文件夹中,不足。虽然是Google-Fu的公认,并不一定很棒。
谢谢您的回复。