0

入力でフォームモーダルを作成した後、正常に機能します。しかし、現在、削除する単純なモーダルには何も表示されていません。

HTML

<script type="text/ng-template" id="delete.html">
      <div class="modal-header">
        <h3 class="modal-title">Löschen {{this.selectedKey}}{{$ctrl.this.selectedKey}}{{ctrl.this.selectedKey}}
          {{$ctrl.this.selectedKey._id}} {{ this.selectedKey._id }} | {{ctrl.this.selectedKey._id}}?</h3>
      </div>
      <div class="modal-body">
        Sind sie sich sicher das sie diesen Key: {{$ctrl.selectedKey.Name }} löschen wollen ?
      </div>
      <div class="modal-footer">
        <button class="btn btn-danger" ng-click="delete()">Löschen</button>
        <button class="btn" ng-click="close()">Abbrechen</button>
      </div>
</script>

コントローラ

// Modals
deleteKey(selectedKey) {
  this.$uibModal.open({
    scope: this.$scope,
    templateUrl: 'delete.html',
    controller: ['$scope', '$uibModalInstance', '$http', 'selectedKey', function($scope, $uibModalInstance, $http, selectedKey) {
      this.selectedKey = selectedKey;
      this.$http = $http;
      $scope.close = function() {
        $uibModalInstance.dismiss();
      };
      $scope.delete = () => {
        this.$http.delete('/api/dict_keys/' + selectedKey._id);
        window.location.reload();
        $uibModalInstance.close();
      }
    }],

    resolve: {
      selectedKey: () => {
        return selectedKey;
      }
    }
  });
}

selectedKey を取得して削除しています。しかし、私のモーダルでは、現在選択されていることを示すこのキーの出力はありません。ご覧のとおり、{{コントローラーあり/なし}} として .html でいくつかのことを試しました。.js で selectedKey を解決として送信します。コントローラーなどに注入します。

どこで何かを逃したか、間違っていましたか?

解決:

コントローラ

 deleteKey(selectedKey) {
        this.$uibModal.open({
          scope: this.$scope,
          templateUrl: 'delete.html',
          controller: ['$scope', '$uibModalInstance', '$http', 'selectedKey', function($scope, $uibModalInstance, $http) {
            $scope.selectedKey = selectedKey;
            this.$http = $http;
            $scope.close = function() {
              $uibModalInstance.dismiss();
            };
            $scope.delete = () => {
              this.$http.delete('/api/dict_keys/' + selectedKey._id);
              window.location.reload();
              $uibModalInstance.close();
            };
          }],
          resolve: {
            selectedKey: () => selectedKey
            }

        });
      }

HTML

<script type="text/ng-template" id="delete.html">
  <div class="modal-header">
    <h3 class="modal-title">Löschen {{selectedKey.Name}}?</h3>
  </div>
  <div class="modal-body">
    Sind sie sich sicher das sie diesen Key: {{selectedKey.Name}} löschen wollen ?
  </div>
  <div class="modal-footer">
    <button class="btn btn-danger" ng-click="delete()">Löschen</button>
    <button class="btn" ng-click="close()">Abbrechen</button>
  </div>
</script>
4

0 に答える 0