angularjs - Angular 用户界面 : Unknown provider: dialogProvider

标签 angularjs coffeescript angular-ui angular-ui-bootstrap

我正在尝试复制以下带有关闭按钮的简单对话框的 Angular UI 示例。 https://github.com/angular-ui/bootstrap/blob/master/src/dialog/README.md 。 但是,我无法将 dialog 参数正确注入(inject)到我的对话框 Controller 中。

Controller 如下所示(使用 CoffeScript)

angular.module('myApp', ['ui.bootstrap'])

angular.module('myApp').controller 'MyController', ($dialog, $scope) ->
  $dialog.dialog().open('dialogTemplate', 'DialogController')

angular.module('myApp').controller 'DialogController', ['$scope', 'dialog', ($scope, dialog) ->
    $scope.close = -> dialog.close()
]

查看 Plunker 的实时版本: http://plnkr.co/edit/ejKh7w8Sk9H7Nz3rXhdc?p=preview

Angular 给我以下错误:

Unknown provider: dialogProvider <- dialog

关于如何将 dialog 参数注入(inject)到 DialogController 中,如上面提到的文档示例中所示,有什么想法吗?我怀疑这可能与 CoffeeScript 有关,因为我对这种语言相当陌生,但当我查看编译的输出时,它似乎很正确。

最佳答案

我遇到了类似的问题,正在努力寻找解决方案。

我期望我的 Controller 有两个额外的参数; ...,selectedView,对话框)。它似乎为我的对话框提供了正确的参数,但我在控制台中仍然收到错误。

问题是我两次引用了 Controller ;

  1. 打开对话框时:dialog.open('template', 'myController')
  2. 在我的模板文件中:section(ng-controller='myController')

删除 (2) 解决了问题,因为它不是由对话框代码调用的,对话框代码提供了我的 selectedView 参数和默认的 dialog 参数。

希望对某人有帮助。

关于angularjs - Angular 用户界面 : Unknown provider: dialogProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225943/

相关文章:

javascript - 在函数中使用 eval 来替换图层名称上的前缀?

angularjs - ng-repeat 中的 Angular UI 工具提示未关闭

angularjs - 访问 Controller 中的解析对象

javascript - angularjs [ng :areq] Argument 'fn' is not a function, 在控制台错误中得到字符串

javascript - Django/AngularJS : How do I access my Python Context Items from my AngularJS Script

javascript - md-autocomplete 搜索本地(浏览器对象),如果找不到,则查找数据库对象

javascript - Chrome 中的 Bootstrap 边框不会消失

javascript - AngularJS:我什么时候应该创建另一个 Controller ?

javascript - coffeescript 中的 'if a isnt undefined' 和 'if a?' 有什么区别?

coffeescript - 使用 bluebird 和 coffeescript 的简单 promise 示例工作了一半