1

我在这里设置了一个 plunkr:http://plnkr.co/edit/NdHqQJ?p= preview

当您单击任务时,我正在尝试将表单数据推送和拉入模式窗口。我读过你可以用模态的“resolve”属性(见下文)来做到这一点,但我一直无法让它真正工作。任何见解将不胜感激。

var modalInstance = $modal.open({
  templateUrl: 'editTask.html',
  controller: 'ModalInstanceCtrl',
  size: size,
  scope: $scope,
  resolve: {
    items: function () {
      return $scope.items;
    }
  }
});

如果您需要更多详细信息,请告诉我!

4

2 回答 2

2

如果你想使用 resolve(你可以),那么 nit 将是这样的,例如:

$scope.open = function(size, task) {
    var modalInstance = $modal.open({
        templateUrl: 'editTask.html',
        controller: 'ModalInstanceCtrl',
        size: size,
        resolve: {
            task: function() {
                return task
            }
        }
    });
};

HTML:

<a ng-click="open('lg', noStoneTask)" style="cursor:pointer" tooltip-placement="top" tooltip="Open Task">{{noStoneTask.taskSubject}}</a>

演示: http ://plnkr.co/edit/NA71479d04Yw7hh2Twx8?p=preview

于 2015-10-13T14:45:14.340 回答
1

您必须在解析中传递要解析的范围(传递给模态)。并在模态控制器中解决它。

这是你想要达到的目标吗? http://plnkr.co/edit/Q0G79C?p=preview

我修改了模态以将 noStoneTasks 范围传递给模态

//modal
$scope.open = function (size) {

    var modalInstance = $modal.open({
        templateUrl: 'editTask.html',
        controller: 'ModalInstanceCtrl',
        size: size,
        resolve: {
            noStoneTasks: function () {
                return $scope.noStoneTasks;
            }
        }
    });
};

当用户单击确定时,我也会修改范围。

uxModule.controller('ModalInstanceCtrl', function ($scope, $modalInstance, noStoneTasks) {
    $scope.ok = function () {
        noStoneTasks[0].actHours++;
        $modalInstance.close('save');
    };

    $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
    };
});     
于 2015-10-13T14:46:52.163 回答