3

私のapp.jsには次のものがあります。

var app = angular.module('app', ['admin', 'ui.compat', 'ngResource', 'LocalStorageModule']);
app.config(['$stateProvider', '$locationProvider',
    function ($stateProvider, $locationProvider) {
        $locationProvider.html5Mode(true);
        var home = {
            name: 'home',
            url: '/home',
            views: {
                'nav-sub': {
                    templateUrl: '/Content/app/home/partials/nav-sub.html',
                }
            }
        };
        $stateProvider.state(home)
    }])
    .run(['$rootScope', '$state', '$stateParams', function ($rootScope, $state, $stateParams) {
        $rootScope.$state = $state;
        $rootScope.$stateParams = $stateParams;
        $state.transitionTo('home');
    }]);

admin.js で:

angular
    .module('admin', ['ui.state'])
    .config(['$stateProvider', '$locationProvider',
    function ($stateProvider, $locationProvider) {
        $locationProvider.html5Mode(true);
        var admin = {
            name: 'admin',
            url: '/admin',
            views: {
                'nav-sub': {
                    templateUrl: '/Content/app/admin/partials/nav-sub.html',
                }
            }
        };
        var adminContent = {
            name: 'admin.content',
            parent: admin,
            url: '/content', views: {
                'grid@': {
                    templateUrl: '/Content/app/admin/partials/content.html',
                    controller: 'AdminContentController'
                }
            }
        }
        $stateProvider.state(admin).state(adminContent)
    }])

AdminContentController を接続する方法について混乱しています。現在、私は以下を持っています:

app.controller('AdminContentController',
    ['$scope', 'entityService', 'gridService', 'gridSelectService', 'localStorageService',
    function ($scope, entityService, gridService, gridSelectService, localStorageService) {
        $scope.entityType = 'Content';

これがモジュールをセットアップしてアプリに追加する正しい方法であるかどうかを誰かが確認できますか? コントローラーをアプリに追加する必要がありますか:

app.controller('AdminContentController',

または、これはモジュール「admin」に属している必要があります。必要な場合、どのように配線すればよいですか?

4

2 に答える 2

5

はい、それはangular.module('admin')ゲッターとして機能します。したがって、各ファイルで同じモジュールを取得します。

于 2013-08-29T08:48:24.150 に答える
5

共有した内容に基づいて、コントローラーは次のような管理モジュールで作成する必要があります

var adminModule=angular.module('admin');   // This syntax get the module
adminModule.controller('AdminContentController',
    ['$scope', 'entityService', 'gridService', 'gridSelectService', 'localStorageService',
    function ($scope, entityService, gridService, gridSelectService, localStorageService) {
        $scope.entityType = 'Content';

管理モジュール宣言の続きでコントローラーを定義することもできます。

于 2013-08-29T07:34:29.663 に答える