将 ngTable 行输入数据传递给 ngDialog 输入

Pass ngTable row input data to ngDialog input

本文关键字:输入 ngDialog 数据 ngTable      更新时间:2023-09-26

>我正在尝试将模型传递给ngDialog模板

可编辑表格

<table ng-table="tableParams" class="table table-bordered table-striped">
    <tbody>
        <tr ng-repeat="release in releases track by $index">
           <td style="width:5%" data-title="'Version'" ng-model="release.version">{{release.version}}</td>
        </tr>
    </tbody>
</table>

这是打开对话框并调用$scope.edit

<button ng-click="edit(release)" title="Edit" class="btn btn-sm btn-default">

这是 ngDialog 模板的 HTML

        <script type="text/ng-template" id="editRelease">
          <div class="form-group">
            <div class="col-sm-4">
                <input type="text" ng-model="release.version" class="form-control" />
            </div>
          </div>
        </script>

这是我的控制器,我正在尝试在其中填充一行

$scope.edit = function (release) {
    ngDialog.openConfirm({
        template: 'editRelease',
        className: 'ngdialog-theme-default',
        scope: $scope,
        controller: ['$scope', function ($scope) {
            $scope.$watch('release', function (passedObject) {
                console.log(release.version);
            });
        }]
    })
};

我已经设法从模型中传递对象并将其登录到控制台。当按下编辑按钮时,如何使用表中的文本填充对话框到对话框中?

你需要

使用solve将数据传递给模态:

 ngDialog.openConfirm({
    template: 'editRelease',
    className: 'ngdialog-theme-default',
    scope: $scope,
    controller: ['$scope','release', function ($scope,release) {
        $scope.$watch('release', function (passedObject) {
            console.log(release.version);
        });
    }],
    resolve: {
        release: function () {
            return release;
        }
    }
})

来源 : https://github.com/likeastore/ngDialog#resolve-objectstring-function