0

angular で requirejs を使用していますが、Route プロバイダーを動作させることができません。

require.config({

// alias libraries paths
paths: {
    'angular': 'vendor/angular.min',
    'angularRoute': 'vendor/angular-route'
},

// angular does not support AMD out of the box, put it in a shim
shim: {
    'angular': {exports: 'angular'},
    'angularRoute':['angular']
},
priority: ["angular"]
});
require([
     'angular',
     'app'
     ],
    function(angular, app){
        'use strict';
        var $html = angular.element(document.getElementsByTagName('html')[0]);
        angular.element().ready(function() {
        $html.addClass('ng-app');
        angular.bootstrap($html, [app['name']]);
        app.config(['$routeProvider',
                    function($routeProvider){
                        $routeProvider.when('/',{
                            templateUrl: 'views/home.html',
                            controller:'MyCtrl1'
                        })
                        .when('/views2',{
                            templateUrl: 'views/home.html',
                            controller:'MyCtrl2'
                        })
                        .otherwise({
                            templateUrl: 'views/dontknow',
                            controller:'MyCtrl2'
                        })
                    }
        ]);
}); 
})

ベース アプリの URL は次のようになります: http://example.com:8080/HOMEPAGE/

私のコントローラーは次のようになります:

define(['angular'], function (angular) {
'use strict';
var myController = angular.module('myController', []);
myController.controller('MyCtrl1', ['$scope', function ($scope) {
        $scope.greeting = "hello world";
    }]).controller('MyCtrl2', ['$scope', function ($scope) {
        $scope.greeting = "hello world2";
    }]);
return myController;

});
4

1 に答える 1