2015-01-20 120 views
1

我正在从一个现有的AngularJS移动应用程序从Trigger.io切换到科尔多瓦,因为它提供了更好/更多的插件,我正在建设。angular.bootstrap和角度ui路由器不启动控制器

科尔多瓦要求我的应用程序在deviceready event被触发后加载。我的应用程序建立在离子框架之上,它们为此事件提供包装(window.ionic.Platform.ready)。我认为这会像从我的HTML中删除ng-app一样简单,并在设备准备就绪时引导我的应用程序。唉...

我遇到了一些奇怪的事情。我使用ui-router来处理我的状态,它们在$stateChangeStart中被触发,但链接到该状态的控制器根本不会被触发。

我做了两个Plunkrs作为例子;

  • first one使用ng-app和完美的作品
  • second one使用angular.bootstrap,但从来没有console.log小号的东西从我的控制器。

我在这里做错了什么?任何帮助表示赞赏!

回答

2

问题在于选择rootElement,您只需通过document.body获取正文,而不是尝试将其检索为document.getElementById('body'),该文件不返回任何内容。

angular.element(document).ready(function() { 
    angular.bootstrap(document.body, ['myApp']); 
}); 

Plnkr

+0

哇靠,你不知道我今天多少时间浪费试图解决这一问题。非常感谢,几分钟后就会接受:-) – Nick 2015-01-20 20:45:38

+0

@尼克,当你回来时,请记得接受。谢谢!! – PSL 2015-01-21 01:28:44

+0

对不起,您的回答太快,我无法打开接受,忘了它,现在就做!再次感谢! – Nick 2015-01-21 06:53:33