2015-06-09 1 views
0

У меня есть модальный контроллер, который глючит, поэтому я комментирую код, чтобы попытаться выяснить ошибку. В настоящее время мой модальный частичный HTML - пустой тег div, а мой контроллер - единственный console.log без аргументов или параметров. В вызове $ modal.open указывается только контроллер и частичный.Угловая подает мне нерегулярную ошибку впрыска, но мой контроллер не требует никаких инъекций

Теперь, когда я пытаюсь открыть модальный, я получаю ошибку инжектора, говоря, что «orgId» не разрешается. Кроме того, я не прошу ввести ORId. Я уже очистил кеш (Chrome), гарантировал, что у меня установлена ​​правильная, последняя версия файла и удалены все (комментированные или нет) экземпляры слова «orgId» из файла. Тем не менее он продолжает просить об этом. Как модальный контроллер, это не в моей иерархии состояния маршрутизатора-ui, так что это не должно быть какое-то странное взаимодействие между родителями и дочерними элементами. Какие-нибудь другие идеи о том, что может происходить?

Это то, что мой код выглядит следующим образом:

Partial.html:
<div></div>

Контроллер:
app.controller('ctrl.modal', [ function() { console.log("Controller is called"); } ])

Calling контроллер:

exercises.controller('ctrl.exercisesnew', [ '$scope', '$location', '$stateParams', 'factory.exercises', 'force.services.userservice', '$q', 
     '$resource', 'factory.endpoints', '$modal', 'underscore', 'force.factory.classes.usercontext', 'factory.common', 'force.services.unitservice', '$state', 'factory.teep', '$window', 
     function ($scope, $location, $stateParams, ExercisesServices, UserService, $q, $resource, endpoints, $modal, _, UserContext, commonService, UnitService, $state, TeepService, $window) { 
      $scope.c2ram.ctrl.exercisesnew.absorb = function() { 
       var assignExerciseDetailsModalInstance = $modal.open({ 
        templateUrl: 'partial.html', 
        controller: 'ctrl.modal' 
       }); 
      }; 

     } 
    ]); 

Спасибо вам так много !

+0

пожалуйста добавьте некоторые code..How мы можем обнаружить ошибку, не видя в вашем коде –

+0

Конечно, один момент ... хотя это буквально, как описано: Partial.html: ''

Контроллер: ' app.controller ('ctrl.modal', [ функция() {console.log ("контроллер называется"); }])» $ modal.open вызова: ' $ modal.open ({templateUrl: 'partial.html', controller: 'ctrl.modal'}); ' –

+0

вы вложили зависимость' $ modal' в ваш контроллер от того, где вы делаете '$ modal.open' –

ответ

0

Так что это очень неудобно. В основном, когда я скопировал и вставил модальный контроллер из предыдущего места, где у меня было это, я забыл удалить старый (string named) контроллер. Угловой случайным образом выбирал между двумя идентично названными модальными контроллерами при открытии модального кода и не предупреждал, что контроллер этого имени уже существует. Упс!

Для тех из вас, кто читает этот ответ, убедитесь, что у вас нет одинаково названных контроллеров, которые будут вызывать конфликт. Это вероятный результат любой ошибки копирования и вставки.

0

Вы используете ui-bootstrap? Если это так, вы должны ввести $modal в свой контроллер, чтобы использовать его.

+0

Привет! Спасибо за ваш ответ. Я использую ui-bootstrap, и я ввожу $ modal в контроллер. Тем не менее, я ничего не вводил в вызов $ modal.open. –