【问题标题】:Confirmation dialog with data using AngularJS使用 AngularJS 的数据确认对话框
【发布时间】:2015-12-06 13:27:13
【问题描述】:

我正在尝试制作一个确认用户想要继续的对话框。 情况是这样的:我有一张桌子,里面有可能发生的事情。用户可以决定删除该事件。

表格是这样构建的:

<tbody>
    <tr ng-repeat="event in EventsCtrl.events>
        <td>
            <a ng-click="event.updateStatusDone(event.eventid)" href="#">
                <i class="delete-icon"></i>  
            </a>
        </td>
        <td>{{event.timestamp}}</td>
        <td>{{event.date}}</td>
        ...

控制器中的相关代码如下所示:

app.controller('EventController', ['$http', function($http){
    this.updateStatusDone = function(eventid){
        $http.delete(serverUrl + "/manage/event/" + eventid);
    }
}

现在我想添加一个确认框(我阅读了有关模态的内容),它将要求用户确认。 eventid 必须通过。

我已经尝试对模态进行大量研究,但它们似乎都在发出警报,而没有传递所需的数据(在本例中为 eventid)。

有人有一个可行的例子吗?一条线索,提供一些参考?

提前致谢!

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    这是一个部分示例,可以帮助您入门,来自我写的内容:

    function createMessageBox($dialog, title, message, buttons) {
        var msgBox = $dialog.dialog({
            templateUrl: 'partials/dialogs/message_dialog.html',
            controller: 'MessageBoxController',
            backdrop: false,
            dialogClass: 'modal confirm-dialog movable',
            resolve: {
                model: function () {
                    return {
                        title: title,
                        message: message,
                        buttons: buttons
                    };
                }
            }
        });
    
        return msgBox;
    }
    

    如您所见,我正在传递titlemessagebuttons 变量,然后在message_dialog.html 对话框中使用它们。

    【讨论】:

    • 我需要为此创建一个对话框指令吗?还是我错过了其他东西?我需要从对话框的按钮调用我的函数吗?
    • 你用msgBox.open()打开它,然后你可以从中获取返回参数,当对话框关闭时,.then()会触发。
    • 对不起,我是 Angular 新手,我觉得我错过了一些东西。开放功能在哪里?也许你有一个工作小提琴/plunker?抱歉问了这么多,但这似乎对我不起作用
    【解决方案2】:

    到目前为止,我在这里找到了最适合我的情况: https://stackoverflow.com/a/19930247/5459561

    它实际上只有在被接受时才调用我的函数。 要记住一件事,它不是一个好看的对话框,那部分仍然需要工作。

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      • 2016-02-02
      • 2023-04-03
      相关资源
      最近更新 更多