我只在缩小代码(生产)上才会出现此错误。 当我在formly中添加'controller'函数时创建了bug。 请查看我的代码,也许你会看到一些错误.. 任何提示都会有用;)
依赖关系: “棱角分明”:“~7.1.2”, “angular-formly-templates-bootstrap”:“~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}"
@
)
答案 0 :(得分:3)
你需要明确地注入$ rootScope:
而不是($rootScope) -> {code...}
使用
['$rootScope', ($rootScope) -> {code...}]
否则,' $ rootScope'从变量名称隐含依赖性。由于$ rootScope在你的缩小期间变为$ t,因此意味着你要注入“$ t'哪个不存在。
谷歌ng-annotate自动'阐明'你的注射。
编辑:我不熟悉coffeescript,所以请耐心等待我:)