javascript - 错误: [$compile:ctreq] Controller required by directive ,找不到

标签 javascript angularjs angularjs-directive slim-lang

我不断从需要另一个指令的指令中收到此错误。我不明白的是,这段代码在其他页面上运行没有问题。这是一些代码:

正在爆炸的指令:

newco.directive 'signupShippingForm', [
  () ->
    {
    templateUrl: '/pages/signup/billing/shipping_form'
    require: ['signupShippingForm', '^addressScrub']
    controllerAs: 'ctrl'
    link: (scope, element, attrs, ctrls) ->
      ctrl = ctrls[0]
      addressScrubCtrl = ctrls[1]
      ctrl.updateAddress = () ->
        addressScrubCtrl.scrubAddress()
    controller: ['$scope', 'productService', 'UsStatesCodes'
      ($scope, productService, UsStatesCodes) ->
        ctrl = @
        $scope.shippingPackages = productService.shippingPackage()
        $scope.states = UsStatesCodes

        $scope.toggleBillingInfo = ()->
          $scope.billingOption.same = !$scope.billingOption.same
          if $scope.billingOption.same
            _.extend $scope.shippingInfo, $scope.billingInfo
          else
            $scope.shippingInfo = {}

        ctrl.showShippingToggle = !$scope.showSimpleForm

        @
    ]
    }
]

我收到的错误是:

Error: [$compile:ctreq] Controller 'addressScrub', required by directive 'signupShippingForm', can't be found!

我的 HTML 爆炸的地方是:

   form(name="updateShippingForm" ng-submit="save(updateShippingForm.$valid, billingInfo, shippingInfo)" autofill-sync)

      billing-form-prefill
        address-scrub
          .container
            signup-billing-form(ng-if="true == false")
            signup-simple-billing-form(ng-if="true == false")

            hr

          signup-shipping-form ng-if="true == true"

        signup-billing-package(ng-if="true == false")

        signup-billing-agreement

所以address-scrub是signupShipping表单的父级,所以我认为^语法会找到它。 ng-ifs 在那里是因为我从字面上复制了该设置当前正在运行的另一种表单中的 HTMl,因此我添加了它们来禁用这些元素。

页面的 Controller 就是:

@newco.controller 'UpdateShippingController', ($location, $routeParams, $scope, userService, BillingInfo) ->

最佳答案

您是否尝试过要求'^^addressScrub'

关于javascript - 错误: [$compile:ctreq] Controller required by directive ,找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35467234/

相关文章:

javascript - 仅由 'bound_this' 引用的实例不会被垃圾回收

javascript - 固定 div 页面滚动后闪烁

javascript - 在 Controller 中调用 AngularJS 服务函数时出错?

javascript - ngRoute 和 Underscore.js 的 RequireJS shim 配置

angularjs - 在隔离指令中访问父范围

javascript - Highcharts - 向大型树形图添加更多深入分析

javascript - svg,颜色组子元素

javascript - 使用 angularjs 无法从 json 文件获取数据

javascript - 什么元素在自定义指令 ng-repeater 中引发了 ng-click

css - 如何在指令中使用相同的 url 重新加载背景图像