在ngDialog中将依赖项与其他服务一起传递 - Angular

时间:2017-10-02 14:10:39

标签: javascript angular dependency-injection dependencies ng-dialog

我正在打开一个对话框,它正在对我的一些元素进行排序。它拥有自己的控制器并使用一些相互服务。

$scope.openSortDialog = function(category) {
  ngDialog.open({
    template: 'views/forms/sort.html',
    resolve: {
      category: category
    },
    controller: 'SortController',
    controllerAs: 'sort'
  });
};

我想将SortController保存在其他文件中,因为它非常大。但问题是 resolve ,我用它来让SortController知道哪个类别正在排序。

这些是SortController依赖项:

.controller('SortController', function($scope, SharedService, ngDialog) {...

我刚刚在重构时添加了 resolve ,并且不知道如何包含该依赖项。到目前为止我所做的是将类别排序在SortService可以访问的SharedService中。但我想有更直接的路线。

所以问题是,我如何获得解决依赖关系以及控制器依赖关系。

1 个答案:

答案 0 :(得分:0)

我认为这就是你想要的:

$scope.openSortDialog = function(category) {
    ngDialog.open({
        template: 'views/forms/sort.html',
        controller: 'SortController',
        controllerAs: 'sort'
        resolve: {
            category: function () {
                return category;
            }
        }
}



.controller('SortController', ['$scope', 'category', 'SharedService', 'ngDialog',
    function($scope, category, SharedService, ngDialog) {...