如何将数据传递到angular.js UI引导模态控制器

时间:2014-08-28 22:22:31

标签: angularjs angularjs-scope angular-ui angular-ui-bootstrap

使用 Angular.js UI bootstrap 模式,如何将数据传递到模式弹出窗口的控制器?我正在尝试:

var modalInstance = $modal.open({
    templateUrl: 'partials/confirmation-modal.html',
    controller: 'confirmationModal',
    resolve: {
        foo: function() { return 'bar'; }
    },
    backdrop: 'static',
    keyboard: true
});

控制器confirmationModal是:

    (function(_name) {
        /**
         * @ngInject
         */
        function _controller($scope, foo) {
            console.log(foo);  
        }

        angular
            .module('myApp')
            .controller(_name, _controller);
    })('confirmationModal');

但是这个错误与:

Unknown provider: fooProvider

1 个答案:

答案 0 :(得分:1)

您可以尝试使用angular.module('app').controller(...)来定义“confirmationModal”控制器。

如果要使用字符串来引用控制器,则需要将其注册到角度模块。

所以,你有两种方法可以让它发挥作用:

1.使用字符串

在模态设置中:

controller: "confirmationModal"

在控制器定义中(假设“app”是您的模块名称):

angular.module('app').controller("confirmationModal", function($scope, foo) {
    console.log(foo);
});

2.使用功能本身

在模态设置中:

controller: confirmationModal

在控制器定义中:

var confirmationModal = function($scope, foo) {
    console.log(foo);
}

你能分辨出来吗?