0

UserModelサービスとコントローラーを備えた Angular.js Web アプリケーションがありますUsers

UserModel:

/*
 * User model service
 */
angular.module('my_mode_ext').factory('UserModel', [function(){
    // user model
    var model = [];

    //
    // Return users model
    //
    model.get = function(){
        // some object
        model = {.........};
        // return model
        return model;
    }

    return model;
}]);

私はコントローラでそれを使用しようとします:

var UsersController = ['$scope', '$rootScope', '$http', '$route',
  function($scope, $rootScope, $http, $route, UserModel, ngTableParams){
    console.log('UserModel ' + UserModel);
.....
}];

しかしundefined、次のようUserModelなエラーが発生しました。

Error: Unknown provider: UserModelProvider <- UserModel

修正方法は?

アップデート。問題が見つかりました。実際には、このサービスとコントローラーは別のアプリケーションとは別のモジュールにありますが、次のことはできません。

angular.module(my_main_module, ['my_mode_ext'])

Web アプリケーションの作業時間にこのスクリプトをロードするためです。angularアプリケーションでモジュールを動的にロードする方法は?

ありがとうございました。

4

3 に答える 3

1

構文が正しくありません。以下に変更してください

var UsersController = ['$scope', '$rootScope', '$http', '$route','UserModel','ngTableParams'
  function($scope, $rootScope, $http, $route, UserModel, ngTableParams){
    console.log('UserModel ' + UserModel);
.....
}];
于 2013-07-29T12:36:00.620 に答える
1

関数の前に文字列名を追加

var UsersController = ['$scope', '$rootScope', '$http', '$route', 'UserModel', 'ngTableParams'

function($scope, $rootScope, $http, $route, UserModel, ngTableParams){
    console.log('UserModel ' + UserModel);
.....
}];
于 2013-07-29T12:36:18.153 に答える
1

コントローラーは、UserModel サービスが定義されているモジュールと同じモジュールで定義する必要があります。または、コントローラー モジュールがモジュールに依存する必要がありmy_mode_extます。

コードを見ると、コントローラーの定義は次のようになります

angular.module('my_mode_ext').controller("UserController",['$scope', '$rootScope', '$http', '$route','UserModel','ngTableParams', function($scope, $rootScope, $http, $route, UserModel, ngTableParams){
    console.log('UserModel ' + UserModel);
}]);
于 2013-07-29T12:59:18.313 に答える