Javascript Angular注入的$modal错误?

Javascript Angular注入的$modal错误?,javascript,angularjs,dependency-injection,modal-dialog,angular-ui-bootstrap,Javascript,Angularjs,Dependency Injection,Modal Dialog,Angular Ui Bootstrap,我试图通过Angular创建一个模态,但每当我运行该函数时,就会出现以下错误: TypeError: undefined is not a function at h.root.RootController.$scope.openModal 以下是(节略)代码: 看起来相当直截了当,但它不起作用。但真正让我恼火的是当我在chrome中调试时。根据,美元模式服务只有一种方法:打开(选项)。因此,当我在openModal行上放置断点时,我希望看到一个$modal对象,它只有一个属性:ope

我试图通过Angular创建一个模态,但每当我运行该函数时,就会出现以下错误:

TypeError: undefined is not a function
    at h.root.RootController.$scope.openModal
以下是(节略)代码:

看起来相当直截了当,但它不起作用。但真正让我恼火的是当我在chrome中调试时。根据,
美元模式服务只有一种方法:打开(选项)
。因此,当我在
openModal
行上放置断点时,我希望看到一个
$modal
对象,它只有一个属性:open。然而,我看到的是:


这个模态对象有很多函数,没有一个是打开的。所以我猜Angular在我的控制器中注入了错误的$modal,但我不知道为什么或者如何修复它

似乎在
$modal
的位置插入了
$state
。(这些是来自
$state
的方法,不是吗?)可能是Typescript在方法签名中插入了一些东西(这个
可能是为了迎合lambda)?假设你说这是“缩写”代码,那么实际代码在open调用
$modal.open中是否有{}包装的选项({templateUrl:'partials/modals/myModal.html'controller:'myModal'})
@JohnNiedzwiecki它是用CoffeeScript编写的,所以它可以用
{}
@NikosParaskevopoulos编译成正确的形式。我的依赖项数组列出了
[…'$modal','$state']
,但我的控制器参数是
(…$state,$modal…
),所以可能这就是原因。但我认为顺序不必匹配?不,不,顺序很重要!希望这是您的问题。。。
RootController = ($scope, $http, $state, $modal) ->
     $scope.openModal = -> $modal.open(
         templateUrl: 'partials/modals/myModal.html'
          controller: 'myModal'
        )