1、控制器中注入服务时,出问题,当前pageInit这个页面无法加载,页面无报错信息。

var homepage = angular.module('homepage');

homepage.controller('pageInit', function($scope, $state,localLibraryService) {
alert(333333)
localLibraryService.getZhaopin();
/**
//直接运行下面这段代码没有问题,但是通过注入服务器的形式时,直接出问题,但是页面没有错误信息。
$http.get('data/zhaopin.json').success(function(data){
// $scope.zhaopin = data;
alert(data.showObj);
$scope.infoList = data.showObj;
}).error(function(){
alert("an unexpected error ocurred!");
});
*/
}) homepage.service('localLibraryService', function($scope,$http){
this.getZhaopin = function(){
$http.get('data/zhaopin.json').success(function(data){
alert(data.showObj);
$scope.infoList = data.showObj;
}).error(function(){
alert("an unexpected error ocurred!");
});
}
});

  后来将服务内的内容全部删除,只剩一个alert,问题依旧。直到将服务改成这样以后,才没有问题。

homepage.service('localLibraryService', function(){
alert(123);
});

后知后觉,问度娘方才知晓,原来$scope不能注入到服务中。

百度知道里的答案:

你可以注入$rootScope,$scope是不行的。只能在控制器里面才可以,factory是一个服务,你可以把他看做是一个全局变量,他是不对dom操作的,所以不能注入$scope

2、打开页面时报注入错误“Error: [$injector:modulerr]......”
     作为初学者来说,被这个错误伤透了脑筋。尤其,我是拷贝了一个完整的项目,在该项目上断断续续地进行修改、调试熟悉AngularJs。遇到这样的问题多了,慢慢的也总结出了一点点经验。其实,这个问题主要还是粗心大意导致的。(以我在玩的项目为例)

      1)检查index.html中是否有引入对应的JS文件。(index.html为启动项目时默认打开的页面)
  

<!-- *************加载登录模块*********** -->
<script type="text/javascript"src="app/js/ngapp/app-login/app.login.module.js"></script>
<script type="text/javascript"src="app/js/ngapp/app-login/app.login.router.js"></script>
<script type="text/javascript"src="app/js/ngapp/app-login/app.login.controller.js"></script>
      2)检查core.module.js中是否已经将相应module注入(该js文件为APP的核心模块,需要将其他功能模块注入到里面)
angular.module('app.core', ['ionic','ui.router',
'ngCordova',
//***angularjs video
"com.2fdevs.videogular",
"com.2fdevs.videogular.plugins.controls",
"com.2fdevs.videogular.plugins.overlayplay",
"com.2fdevs.videogular.plugins.poster",
//加载系统模块
"app.sys.directive",
"app.sys.service",
"app.homepage", //系统首页模块
]);
       3)检查router.js文件中的参数配置是否准确无误。(一个APP中,路由配置的状态是唯一的,否则会报注入错误。)
angular.module('app.homepage')
.config(function($stateProvider, $urlRouterProvider) {
//配置首页启动时的加载路由模式
$stateProvider
//登录->首页
.state('homepage', {
url: '/homepage',
templateUrl: 'app/templates/homepage/homepage.html',
controller: 'app.homepage.control.HomePageInit as hpinit',
})
})
      4)检查control.js文件中的module名称是否正确,控制器的名称是否一致。
var homepage = angular.module('app.homepage');
homepage.controller('app.homepage.control.HomePageInit', function($scope, $state,$ionicHistory,$http) {
//控制器内容
})

Angular学习笔记-问题列表(2016.4.7)的更多相关文章

  1. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  2. angular学习笔记(三十一)-$location(2)

    之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...

  3. angular学习笔记(三十一)-$location(1)

    本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...

  4. angular学习笔记(三十)-指令(10)-require和controller

    本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...

  5. angular学习笔记(三十)-指令(7)-compile和link(2)

    继续上一篇:angular学习笔记(三十)-指令(7)-compile和link(1) 上一篇讲了compile函数的基本概念,接下来详细讲解compile和link的执行顺序. 看一段三个指令嵌套的 ...

  6. angular学习笔记(三十)-指令(7)-compile和link(1)

    这篇主要讲解指令中的compile,以及它和link的微妙的关系. link函数在之前已经讲过了,而compile函数,它和link函数是不能共存的,如果定义了compile属性又定义link属性,那 ...

  7. angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令

    在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...

  8. angular学习笔记(三十)-指令(5)-link

    这篇主要介绍angular指令中的link属性: link:function(scope,iEle,iAttrs,ctrl,linker){ .... } link属性值为一个函数,这个函数有五个参数 ...

  9. angular学习笔记(三十)-指令(2)-restrice,replace,template

    本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...

随机推荐

  1. 【bzoj2151】种树(堆/优先队列+双向链表)

    题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2151 这道题因为优先队列不怎么会用,而且手写堆的代码也不长,也想复习一下手写堆的写法…… ...

  2. processing学习整理---Structure

    1.语法介绍:与java很相近,可以认为就是java. 2.运行命令(linux): processing-java --output=/tmp/processing-xx --run --force ...

  3. Windows下MetaMap工具安装

    Windows下MetaMap工具安装 一.Main MetaMap安装 Prerequisties 12G磁盘空间 JAVA6 or newer JRE or SDK installed Downl ...

  4. SQL SERVER 日志已满的处理方法 (转)

    事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf.在 SQL Server 7.0 和 SQL Server 2000 中,如果设置了自动增长功能,事 ...

  5. Vue v-on v-model 组合使用

    v-on vue可以使用v-on指令来监听事件,方便与用户进行交互.我们不需要修改DOM中的数据,所有的操作都由Vue来实现,你编写的代码只需要关注底层逻辑.这也是Vue强大的地方之一 <!DO ...

  6. 国内的Git比GitHub快

    GitHub的速度简直受不了! 被微软收购之后就堕落了! 用Gitee也挺好的,学习用吧!

  7. SSIS简介

    SSIS 其全称是Sql Server Integration Services ,是Microsoft BI 解决方案的一大利器. SSIS 的体系结构主要由四部分组成:Integration Se ...

  8. python中的列表和字典(二)

    三. 字典以及相关使用 1. 字典的定义 dict{} 2. 字典特征:字典是无序的,key-value键值对形式,key值不重复 3. 字典的赋值:dictA = {keyA: valueA, ke ...

  9. Object.assign()与深拷贝(一)

    深拷贝与浅拷贝 所谓深拷贝与浅拷贝,是围绕引用类型变量的拷贝进行的讨论. 在ECMAScript中,变量分为基本类型和引用类型两种.其本质区别是不可变性,基本类型是不可变的,而引用类型是可变的. 所谓 ...

  10. Atom设置震撼的编辑效果

    在代码编辑器.文本编辑器领域,有着不少的「神器」级的产品,如历史悠久的 VIM.Emacs 以及如今当红的SublimeText.另外还有 EditPlus.NotePad++.UltraEdit 等 ...