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;
    },

テンプレートの URL:

<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 に答える