angularjs - 从 Angular Controller 显示引导模态对话框

标签 angularjs twitter-bootstrap-3 modal-dialog bootstrap-modal angularjs-ng-click

我正在尝试弄清楚如何从我的 Angular Controller 中呈现引导模式对话框。基本上我拥有的是一张 table 。当用户单击表行时,我想显示一个模式对话框,其中包含有关所选行的详细信息。

我考虑解决这个问题的方法是让每个表行响应 ng-click。 ng-click 将调用 Controller 中的一个函数,该函数将呈现模式对话框并向其传递需要显示的数据。

我知道如何从 View 本身显示模式对话框,但我不确定如何从 Controller 触发模式。有什么想法吗?

View Controller 具有以下函数,当用户选择一行来查看模式对话框时将调用该函数。

$scope.rowClicked = function(rowID){
    $scope.dataForModal = Data.get(rowID, function(err,data){
        //Here is where I'd like to display the modal dialog in the view
    });
}

最佳答案

参见http://angular-ui.github.io/bootstrap/#/modal

在 View 中的单元格/行上使用ng-click="showDetails(item)"。然后在 Controller 中使用此代码来显示模态:

$scope.showDetails = function (item) {
    var modalInstance = $modal.open({
        templateUrl: 'yourview.html',
        controller: 'DetailModalController',                       
        resolve: {
            item: function () {
                return  item;
            },                            
        }
    });

    modalInstance.result.then(function (item) {
        // ok
    }, function () {
        // dismiss
    });
};

你的模态 Controller 可以是这样的:

angular.module('app').controller('DetailModalController', [
    '$scope', '$modalInstance', 'item',
    function ($scope, $modalInstance, item) {

        $scope.item = item;

        $scope.dismiss = function () {
            $modalInstance.dismiss();
        };

        $scope.close = function () {                    
             $modalInstance.close($scope.item);                       
        };
    };
}]);

使用 $modalInstance.close($scope.item); 您可以传递一个对象。使用 $modalInstance.dismiss(); 您可以在没有对象的情况下关闭模式。

关于angularjs - 从 Angular Controller 显示引导模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29798267/

相关文章:

javascript - 触发 ng-click 动态元素

javascript - "$injector:modulerr": throwing error for module name is not available but actually it is available

java - 在 Java 中执行代码之前等待模态对话框关闭

javascript - AngularJS:如何包装同步函数以使其异步

javascript - 如何隐藏 ng-model 的默认范围值

css - 将空网格空间添加到 bootstrap 3

javascript - Twitter Bootstrap 3 中的图片默认不响应?

css - 响应地更改文本对齐(使用 Bootstrap 3)?

ios - Swift 4 中的模态弹出窗口

javascript - modalDialog 上的 onkeypress 事件