0

Ich versuche, eine Fabrik innerhalb meiner UI-Router Auflösung zu verwenden. Ich kann meine Fabrik Name zurückgegeben wird, aber die Methoden appeart nicht sehen, da zu sein:Factory Methoden leer bei der Verwendung in Resolve

router.js

define(['module', 'require'], function(module, require) { 
    'use strict'; 

    var Router = function ($stateProvider, $urlRouterProvider) { 

     $urlRouterProvider.otherwise('/shopping'); 

     var userFactory = require('./common/user/userFactory'); 

     $stateProvider 
      .state('shopping', { 
       url: '/shopping', 
       templateUrl: 'app/shopping.html', 
       resolve:{ 
        "check":function(){ 
         var something = userFactory; 
         console.log(userFactory.name); 
         console.log(userFcatory); 
        } 
       } 
      }); 
    }; 

    module.exports = ['$stateProvider', '$urlRouterProvider', Router]; 
}); 

Wenn console.log'ing:

console.log(userFactory.name); //returns UserFactory 
console.log(userFcatory);  //returns: 

Object {name: "UserFactory", component: Array[4]} 
    component:Array[4] 
     0:"$q" 
     1:"$http" 
     2:"$state" 
     3:($q, $http, $state) 
     length:4 
     __proto__:Array[0] 
     name:"UserFactory" 

jedoch meine getData und useData Methoden scheinen nicht verfügbar zu sein für mich zu verwenden?

Antwort

0

dieses Fest durch meine router.js an sich ändernde:

define(['module', 'require'], function(module, require) { 
    'use strict'; 

    var Router = function ($stateProvider, $urlRouterProvider) { 

     $urlRouterProvider.otherwise('/shopping'); 

     var userFactory = require('./common/user/userFactory'); 

     $stateProvider 
      .state('shopping', { 
       url: '/shopping', 
       templateUrl: 'app/shopping.html', 
       resolve:{ 
        userFactory : 'UserFactory', 
        check:function(userFactory){ 
         return userFactory.checkUser(); 
        } 
       } 
      }); 
    }; 

    module.exports = ['$stateProvider', '$urlRouterProvider', Router]; 
});