0

查看调用模式

我有这个代码,你应该:打开一个模式,将数据带入 angular-ui-bootstrap 正在使用的控制器中。但它没有得到选择的“项目”的结果。

在我的控制器中:

function EntidadesCtrlFn(EntidadeService, $uibModal, $log) {
 var vm = this;
 vm.animationsEnabled = true;
 vm.modalEdit = function(size, selectedEntidade) {

  var modalInstance = $uibModal.open({
    animation: vm.animationsEnabled,
    templateUrl: './app/modulos/entidades/views/edit-entidades.html',
    controller: function($scope, $uibModalInstance, entidade) {
      vm.entidade = entidade;
    },
    controllerAs: 'vm',
    bindToController: true,
    size: size,
    resolve: {
      entidade: function() {
        return selectedEntidade;
      }
    }
  });

  modalInstance.result.then(function(selectedItem) {
    vm.selected = selectedItem;
  }, function() {
    console.log('Modal dismissed.result.');
    $log.info('Modal dismissed at: ' + new Date());
  });
};

鉴于列表:

<div class="row" ng-controller="EntidadesCtrl as vm">
...
<button class="btn btn-default" ng-click="vm.modalEdit('lg', entidade)" type="button">
  Editar
</button>
...

此模式打开,但不带以下内容:

controller: function($scope, $uibModalInstance, entidade) {
      vm.entidade = entidade;
    },

模板网址:

<section ng-controller="EntidadesCtrl as vm">
 {{vm}}
 <div class="modal-header">
  <h3 class="modal-title">Editando entidade</h3>
 </div>
 <div class="modal-body">
  ...
 </div>
 <div class="modal-footer">
  <button class="btn btn-primary" ng-click="ok()" type="button">OK</button>
  <button class="btn btn-warning" ng-click="cancel()" type="button">Cancel</button>
 </div>
</section>
4

1 回答 1

1

解决了。我最终忘记在控制器中传递“this”;

对于那个很抱歉。

在控制器模式中:

controller: function($uibModalInstance, entidade) {
  var vm = this;
  vm.entidade = entidade;
},
于 2015-12-01T16:34:50.020 回答