初探angular之[$injector:modulerr]

来源:互联网 发布:淘宝买正品退假货 编辑:程序博客网 时间:2024/05/06 07:38

学习angular的人, 想必对这个错误—$injector:modulerr都不陌生.
大多数遇到的错误生成原因, 应该是ui.route.js引入错误.但是其实有另一个原因也会导致这个错误.如下:

window.onload = function(){                var app = angular.module('myApp', []);                app.controller('customersCtrl', function($scope, $http) {                    $http.get("php/connDB.php").success(function (response) {                        $scope.rows = response;                        console.log(response);                    });                });            }

如上所示, 当我们将angular实例化放入类似于准备就绪的函数中, 同样会触发这个错误.原因如下所示:
ng初始化流程

HTML代码在浏览器内加载完毕后, 会立即寻找ng的实例化.而dom加载完毕与window.onload方法是先后继承的关系, 并且只有DOM加载完毕才会触发window.onload方法. 事实上, ng-app与window.onload是在同一个作用域下面, 但我所做的则是把ng-app放入onload方法中, 造成顶层对象无法访问到隔代对象(也就是JS作用域链).

顺便再说下ui.route.js造成的injector error.
ng1.1以后, route这个模块已经从ng中拿出来, 单独成一个组件.所以如果想用路由模块就必须单独引入angular.ui.route.js这个文件.此外, angular.js必须在angular.ui.route.js之前引入, 否则路由模块无法找到ng对象, 仍会报错

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 这是我的战争怎么办 小孩吃坏东西呕吐发烧怎么办 睿芽密码忘了怎么办 做绿豆糕太稀了怎么办 自热火锅吃完后怎么办 自煮火锅吃完了怎么办 自热火锅没熟怎么办 厕所被米饭堵了怎么办 减完肥肉特别松怎么办 新开的熟食店没人光顾怎么办 吃剩的软炸里脊怎么办 小火锅加热时胀盒该怎么办 天丝面料容易皱怎么办 快递员拒不送件怎么办 鞋店里面买到假鞋子了怎么办 孕吐伤了胃疼怎么办 孕期吐的胃疼怎么办 买的巧克力化了怎么办 跑步后脸上出盐怎么办 头发被剪的很短怎么办 孩子做事情拖拉不专注怎么办 新热水壶有味道怎么办 新买电热壶有味怎么办 两个月狗耳朵臭怎么办 狗狗牙齿变黄怎么办 人用了狗沐浴露怎么办 狗狗吞食牙膏吐怎么办? 狗狗吞食了牙膏怎么办 大猪拉稀不吃食怎么办 猪不发烧不吃食怎么办 天天吃自热米饭怎么办 喝了加热包水怎么办啊 蛋挞没有盒子装怎么办 塑料饭盒盖子被吸住了怎么办 火腿淹的有臭味怎么办 微波炉热饭盖子打不开怎么办 夏天带饭容易馊怎么办? 保温饭盒里有气打不开怎么办 保温饭盒摔了一下打不开怎么办 饭盒跟盖子盖一起打不开怎么办 玻璃杯子盖被水吸住打不开怎么办