Onsenui; [ng:areq] Argument'AppController'不是函数,在angularjs中未定义

时间:2015-07-08 09:48:22

标签: javascript angularjs cordova onsen-ui

我正在使用Onsenui和cordova开发混合应用程序。在控制器ons-page中加载时出现此错误。 我已经提到了许多与此问题相关的stackoverflow问题,但没有得到解决方案

  

“错误:[ng:areq]参数'AppController'不是函数,得到了   未定义

脚本

<script src="js/cordova.js"></script>
<script src="lib/onsen/js/onsenui_all.min.js"></script>
<script src="js/app.js"></script>

Html内容

<ons-template id="home.html" >
    <ons-navigator var="myNavigator">
        <ons-page ng-controller="AppController">
        ##contents goes here
        </ons-page>
    </ons-navigator>
</ons-template>

app.js

(function(){
  'use strict';
  var module = angular.module('app', ['onsen']);

module.controller('Appcontroller', function() {
 alert("inside controller");

});
})();

2 个答案:

答案 0 :(得分:2)

您缺少引导您的应用,请将ng-app属性添加到您的第一个元素

   <ons-template id="home.html">
        <ons-navigator var="myNavigator" ng-app="app">
            <ons-page ng-controller="AppController">
            ##contents goes here
            </ons-page>
        </ons-navigator>
    </ons-template>

答案 1 :(得分:0)

我有几乎相同的问题,但ng-app属性对我没有帮助。 当我使用onsenui的样本时,一切都很好,但在我的 项目,我必须动态和同步加载js文件 然后ons.bootstrap();给我同样的错误 “'AppController'不是函数,未定义”

如果使用脚本标记在html doc中声明相同顺序的相同js libs,则一切正常。

我发现如果脚本是通过正常的脚本标签加载然后我等待html文档完全加载然后通过开发人员工具调用ons.bootstrap()我得到了相同的错误。

所以问题是如何在加载文档后初始化oni ui? 希望有人可以提供帮助,我对angularJS / OnsenUi不太熟悉......第一个项目

修改

我已经创建了两个样本来证明我的问题。

  1. 像onsenui样本一样工作。 jbBgmd http://codepen.io/anon/pen/jbBgmd
  2. 不像我的情况那样工作。 BoWXdP http://codepen.io/anon/pen/BoWXdP