В угловых внутренних инжекторах для всех элементов управления областью видимости инициализируется приложением. Вам удалось отделить приложение от определения вашего контроллера, поэтому угловые не знали, как вводить части, необходимые для использования объекта $ scope.
Вариант 1
Таким образом, чтобы получить эту работу, так что вы должны либо определить приложение/модуль, который получают передаваемый в пространство, где определен контроль: контроль
define(['angular'], function (angular) {
'use strict';
return angular.module('TP.controllers', []);
});
календаря:
define([
"jquery",
"controllers",
"jqueryui",
"full_calendar",
"calendar",
],
function($, controllers) {
return controllers
.controller('calendarCtrl', ['$scope', function($scope) {
....
В этом случае вам необходимо включить каждый отдельный контроллер в приложение верхнего уровня, например:
define([
'angular',
'controllers',
'calendarCtrl',
'full_calendar',
'calendar'
], function (angular, controllers) {
'use strict';
return angular.module('TP', ['TP.controllers', 'ui.calendar']);
});
Это в какой-то степени поражает цель использования AMD.
Вариант 2
Лучшим вариантом является определение календаря, как это собственный модуль затем определить его как ребенка контроллеров. Это поддерживает угловую цепь впрыска, поэтому область применения имеет надлежащий контекст при инициализации действий календаря.
Определение корня контроллеры:
define(['angular', 'calendarCtrl'], function (angular) {
'use strict';
return angular.module('TP.controllers', ['calendarCtrl']);
});
Определение календаря контроллера:
define([
"jquery",
"angular",
"jqueryui",
"full_calendar",
"calendar",
],
function($, angular) {
return angular.module('calendarCtrl', [])
.controller('calendarCtrl', ['$scope', function($scope) {
...
Работа plunker этой версии на http://plnkr.co/edit/Xo41pqEdmB9uCUsEEzHe?p=preview.
У вас есть версия плункера, что вы хотели бы иметь работу, но не так ли? Было бы намного проще помочь вам отладить эту версию. –
Код, который не работает, уже был там, но прокомментирован. Я отредактировал так, чтобы он просто включал код, который не работает. Основными страницами, на которых нужно сосредоточиться, являются controllers.js и calendarCtrl.js. – Malcr001