2

コントローラーの定義内から現在インスタンス化されているコントローラー オブジェクトへの参照を取得する方法はありますか? $compileモーダルを作成し、それをモーダルを作成している同じコントローラーにバインドしたいと思います。

これは、私がやりたいことの簡略化されたバージョンです。ここで、THIS_CONTROLLER_INSTANCEはコントローラー インスタンスへの参照です。

angular.module('foo')
.controller('barController', function($scope, $rootScope){
  $scope.openModal = function(){
    var modalEl = $('<div class="modal">Modal stuff here</div>');
    var controller = THIS_CONTROLLER_INSTANCE;
    modalEl.contents().data('$ngControllerController', THIS_CONTROLLER_INSTANCE);

    $compile(modalEl)($scope);
    $('body').append(modalEl);
  }
});
4

1 に答える 1

0

上記のように:

現在のコントローラーはthisです。したがって、私の問題の解決策は次のとおりです。

angular.module('foo')
.controller('barController', function($scope, $rootScope){
  var self = this;
  $scope.openModal = function(){
    var modalEl = $('<div class="modal">Modal stuff here</div>');
    var controller = self;
    modalEl.contents().data('$ngControllerController', controller);

    $compile(modalEl)($scope);
    $('body').append(modalEl);
  }
});
于 2016-11-09T18:15:50.163 に答える