角js喷油器模块错误

时间:2016-08-04 14:11:16

标签: javascript angularjs

我是角度js的新手我试图在配置中注入工厂,但它显示未找到模块

工厂代码

var app=angular.module('app',['ui.router','angular-jwt','ngResource','angularValidator','satellizer']);

app.factory('AUTH_SERVICE', function ($auth,$state,$q) {
    var auth={};

 auth.isloggedin=function() {
     var defer = $q.defer();
    if($auth.isAuthenticated()){
   defer.resolve();
    }
    else
    {      
  $state.go('login');  
   defer.reject();     
    }

    return defer.promise;
}

 return auth;
});

配置代码是

app.config(['AUTH_SERVICE','$authProvider','$stateProvider', '$urlRouterProvider',function(AUTH_SERVICE,$stateProvider, $urlRouterProvider,$authProvider) {
$urlRouterProvider.otherwise('/');
    $stateProvider
    .state('home',{
        url:'/',
        templateUrl:'pages/home.html'

})
.state('login',{
    url:'/login',
    templateUrl:'pages/login.html',
    controller:'loginCtrl'
})
.state('register',{
    url:'/register',
    templateUrl:'pages/register.html',
    controller:'registerCtrl'

})

.state('dashboard',{
    url:'/Dashboard',
    templateUrl:'pages/dashboard.html',
    controller:'dashctrl',
    resolve:{
        skiplogin: _skiplogin
    }
})

function _skiplogin(AUTH_SERVICE){
return AUTH_SERVICEAUTH_SERVICE.isloggedin();
}



 }]);

但显示错误

  

angular.js: 38未捕获错误:[$injector:modulerr]   http://errors.angularjs.org/1.5.8/ $注射器/ modulerr P0 =应用&安培; P1 =错误%3A%20%... ocalhost%2Faccoex%2Fbower_components%2Fangular%2Fangular.min.js%3A39%3A319)

2 个答案:

答案 0 :(得分:3)

您无法在app.config中注入app.config个对象,因为它无法确定它们是否已正确加载。

Consts中,您只能注入Providersprovider

来自文档

  

模块是配置和运行块的集合   在引导过程中应用于应用程序。在其中   最简单的形式模块由两种块的集合组成:

     

配置块 - 在提供商注册期间执行   和配置阶段。只能注入提供者和常量   到配置块。这是为了防止意外实例化   服务完全配置之前的服务。

     

运行块 - 在创建并使用注入器后执行   启动应用程序。只有实例和常量才可以   注入运行块。这是为了防止进一步的系统   在应用程序运行时配置。

查看app.config here,您可以在public partial class Form1 : Form { private SynchronizationContext Context = SynchronizationContext.Current; public Form1(string[] args) { InitializeComponent(); this.Hide(); Microsoft.Office.Interop.PowerPoint.Application pptApplication = new Microsoft.Office.Interop.PowerPoint.Application(); Presentation ppt = pptApplication.Presentations.Open(args[0], MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse); foreach (Slide slide in ppt.Slides) { var count = 0; slide.Export(@"C:\TestOutputs\slide" + count + ".png", "png", 1920, 1080); count++; } this.Close(); return; } } 中配置服务。

答案 1 :(得分:1)

在配置

之后加载时,您无法在配置中注入工厂

angularjs应用程序加载如下:

运行

配置

实例化工厂或服务

控制器