angular.bootstrap和angular ui-router没有启动控制器

时间:2015-01-20 20:34:18

标签: javascript angularjs cordova angular-ui-router

我正在将现有的AngularJS移动应用从Trigger.io切换到Cordova,因为它为我正在构建的内容提供了更好/更多的插件。

Cordova要求在deviceready event被解雇后加载我的应用程序。我的应用程序构建在离子框架之上,它们为此事件提供了一个包装器(window.ionic.Platform.ready)。我认为这就像从我的HTML中删除ng-app并在设备准备好时引导我的应用程序一样简单。唉...

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

我以两个Plunkrs为例;

  • first one使用ng-app并完美运作
  • second one使用angular.bootstrap,但从来没有console.log来自我的控制器。

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

1 个答案:

答案 0 :(得分:2)

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

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

<强> Plnkr