zoukankan      html  css  js  c++  java
  • 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。遇到这样的问题多了,慢慢的也总结出了一点点经验。其实,这个问题主要还是粗心大意导致的。(以我在玩的项目为例)

          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) {
         //控制器内容 
    })
    



    ----------------------------------------------------------------------------
    我的小鱼你醒了,
    还认识早晨吗?
    昨夜你曾经说,
    愿夜幕永不开启。
    你的香腮边轻轻滑落的,
    是你的泪,还是我的泪?
    初吻吻别的那个季节,
    不是已经哭过了吗?
    我的指尖还记忆着,
    你慌乱的心跳。
    温柔的体香里,
    那一缕长发飘飘。
  • 相关阅读:
    Task的使用
    WinStore之Application Data
    WinStore控件之Button、HyperlinkButton、RadioButton、CheckBox、progressBar、ScrollViewer、Slider
    WinStore控件之TextBox
    WinStore控件之TextBlock
    WinStore控件之Button
    设计模式之单例模式
    WinStore开发知识导航集锦
    WindowsStore页面导航
    导出程序界面(UI)到图片
  • 原文地址:https://www.cnblogs.com/liuyp-ken/p/5228446.html
Copyright © 2011-2022 走看看