Angular学习笔记-问题列表(2016.4.7)
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。遇到这样的问题多了,慢慢的也总结出了一点点经验。其实,这个问题主要还是粗心大意导致的。(以我在玩的项目为例)
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) {//控制器内容
})
转载于:https://www.cnblogs.com/liuyp-ken/p/5228446.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
