2015-11-09 4 views
1

Я получаю эту ошибку только по сокращенному коду (производство). ошибка была создана, когда я добавить функцию «контроллер» внутри .. мерно Посмотрите, пожалуйста, мой код, может быть, вы увидите некоторые ошибки .. Любые советы будут полезны;)Неизвестный поставщик: tProvider <- t

Зависимости: «угловато-мерно» : "~ 7.1.2", "угловой-шаблоны мерно-самозагрузки": "~ 6.1.0",

Мой код контроллера:

.controller('NSearchBoxOnResultsController', ($rootScope) -> 
    @formFields = 
     [ 
     type: 'form_with_own_classes' 
     key: 'q' 
     defaultValue: @resultAsValue 
     templateOptions: 
      type: 'string' 
      label: '' 
      placeholder: I18n.t('homepage.placeholder') 
      wrapper_class: 'row input--primary modal__center-items search search_query' 
      input_container_class: 'col-xs-12' 
      onKeypress: ($viewValue, $modelValue, scope, event) => 
      if event?.which == 13 
       @submit() 
     controller: ($scope, $rootScope) => 
      @scope = $scope 
      @rootScope = $rootScope 
      @rootScope.$on('$locationChangeSuccess', (newValue, oldValue) => 
      if @scope.options?.formControl 
       @hash = window.location.hash.split('/') 
       @queryFromHash = @hash.slice(2, @hash.length).join('/') 
       @resultAsValue = decodeURIComponent(@queryFromHash) 
       @scope.options.formControl.$setViewValue(@resultAsValue) 
       @scope.options.formControl.$rollbackViewValue() 
     ) 
     ] 

    @submit = => 
     window.location = "/search/#all/#{@search.q}" 

    @ 
) 

ответ

3

вам нужно явно вводить $ rootScope:

вместо ($rootScope) -> {code...}

использование

['$rootScope', ($rootScope) -> {code...}]

В противном случае, зависимость в '$ rootScope' подразумевается из имени переменной. Поскольку $ rootScope становится $ t во время вашего углового минимума, вы должны ввести «$ t», который не существует.

google ng-annotate, который автоматически «разъясняет» ваши инъекции.

редактировать: Я не знаком с CoffeeScript, поэтому, пожалуйста, медведь со мной :)

+0

Но когда я не впрыснуть $ rootScope в основном контроллере также работает мерно - но та же ошибку. Я думаю, что вложение в главный контроллер ничего не меняет .. – Darex1991

+2

'controller: ['$ scope', '$ rootScope', ($ scope, $ rootScope) => {}]'. Вы действительно должны искать ng-annotate. Все это вам понадобится. – j2L4e

+0

tnx для помощи;) – Darex1991

Смежные вопросы