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. Maximum Subsequence Sum【最大连续子序列+树状数组解决】

    Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i < ...

  2. Struts2的<s:date>标签使用详解[转]

    作用:用来格式化显示日期的格式. 它可以用一种你指定的格式来显示 (如:“yyyy-MM-dd”),可以生成通俗易懂的注释(如:in 2 hours,14 minutes),或者用预先定义的一个格式来 ...

  3. WINSOCK 传送文件

    SERVER: // send_server.cpp : Defines the entry point for the console application. // #include " ...

  4. Java读取lob格式数据

    想要读出lob里面的图片数据,就要确认clob里面存储的是什么,一般情况下存储的base64的串串.所以就以base64为例,而Blob里面存储的大部分是图片数据,但也有xml内容数据. 1查询lob ...

  5. WPF利用通过父控件属性来获得绑定数据源RelativeSource

    WPF利用通过父控件属性来获得绑定数据源RelativeSource   有时候我们不确定作为数据源的对象叫什么名字,但知道作为绑定源与UI布局有相对的关系,如下是一段XAML代码,说明多层布局控件中 ...

  6. 最实用的 Linux 命令行使用技巧

    我们可能每天都会要使用到很多的 Linux 命令行. 我们也会网络上知晓一些使用它们的小技巧,但是如果我们没有时常来进行练习,就有可能会忘掉怎么去使用它们. 所以我就决定把那些你可能会忘记的小提示和小 ...

  7. JAVA动态代理的全面深层理解

    Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过 ...

  8. JAVA中列表,集合之间的区别

    整体来看List,Set,Map都是实现了Collection接口的接口. 重复性: List允许存在重复的元素,也就是说List中可以在不影响现有元素的值及其索引的同时插入新的重复元素. Set不允 ...

  9. 【51Nod】-1326 遥远的旅途

    Description 一个国家有 N 个城市, 这些城市被标为 0,1,2,...N-1. 这些城市间连有 M 条道路, 每条 道路连接两个不同的城市, 且道路都是双向的. 一个小鹿喜欢在城市间沿着 ...

  10. Linux中的固件加载例子

    AP6335模块(BCM4339)在上电运行时,是需要刷入固件的,其在普通WIFI模式和AP模式之间切换时,也是需要加载不同的固件的,其位于/system/etc/firmware/下面:fw_bcm ...