在 Resolve 中使用时工厂方法空白

Factory Methods Blank When Using In Resolve

我正在尝试在我的 ui-router 解决方案中使用工厂。我可以看到我的工厂名称已返回,但是方法似乎不存在:

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];
});

当 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"

但是我的 getDatauseData 方法似乎无法使用?

通过将我的 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:{
                    userFactory : 'UserFactory',
                    check:function(userFactory){
                        return userFactory.checkUser();
                    }
                }
            });
    };

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