libin jose chemperi
libin jose chemperi

Reputation: 23

How to Inject values to UI. Bootstrap Modal

I am facing some issues in injecting values to bootstrap modal. In the modal controller value of key variable is coming as undefined.

Code to open Modal

var key = 100;
var opts = {
  backdrop: true,
  backdropClick: false,
  dialogFade: false,
  keyboard: true,
  controller: 'modalController',
  controllerAs: 'vm',
  templateUrl: "/app/features/modal/modal.html",
  resolve: {
    key: () => key
  }

};

var modalInstance = this.$modal.open(opts);

Modal controller

module Workspace.Controllers {
  "use strict";
  export interface IModalController {
    ok: () => void;
    cancel: () => void;
  }
  export class ModalController implements IModalController {
    static $inject = ['$modalInstance', 'key'];

    constructor(private $modalInstance: any, private key: any) {

    }
    public ok = () => {
      this.$modalInstance.close();
    };

    public cancel = () => {
      this.$modalInstance.dismiss('cancel');
    };
  }
}

app.ts

workspaceApp.workspaceModule.controller('modalController', ['$modalInstance', ($modalInstance: any, key: any) => new Controllers.ModalController($modalInstance, key)]);

Upvotes: 0

Views: 255

Answers (1)

basarat
basarat

Reputation: 276085

['$modalInstance', ($modalInstance: any, key: any)

You are missing 'key' so the argument will be undefined.

Upvotes: 1

Related Questions