我正在将现有的AngularJS移动应用从Trigger.io切换到Cordova,因为它为我正在构建的内容提供了更好/更多的插件。
Cordova要求在deviceready
event被解雇后加载我的应用程序。我的应用程序构建在离子框架之上,它们为此事件提供了一个包装器(window.ionic.Platform.ready
)。我认为这就像从我的HTML中删除ng-app
并在设备准备好时引导我的应用程序一样简单。唉...
我遇到了一些奇怪的东西。我正在使用ui-router来处理我的状态,并且它们会在$stateChangeStart
中被触发,但链接到该状态的控制器根本不会被触发。
我以两个Plunkrs为例;
ng-app
并完美运作angular.bootstrap
,但从来没有console.log
来自我的控制器。我在这里做错了吗?任何帮助表示赞赏!
答案 0 :(得分:2)
问题在于选择了rootElement,您需要通过document.body
获取正文,而不是尝试将其检索为document.getElementById('body')
而不返回任何内容。
angular.element(document).ready(function () {
angular.bootstrap(document.body, ['myApp']);
});
<强> Plnkr 强>