TechQA.

Angular 2: NgbModal transclude in view

1.7k views Asked by byCoder At 2017-06-04T21:46:45+00:00 04 June 2017 at 21:46 2025-12-04T07:21:01+00:00

Let's say i have such modal template:

<div class="modal-header">
  <h3 [innerHtml]="header"></h3>
</div>

<div class="modal-body">
  <ng-content></ng-content>
</div>

<div class="modal-footer">
</div>

and i'm calling this modal from another component so:


    const modalRef = this.modalService.open(MobileDropdownModalComponent, {
      keyboard: false,
      backdrop: 'static'
    });

    modalRef.componentInstance.header = this.text;

How can i put into NgbModal html with bindings etc? Into ng-content

javascript angular typescript ng-bootstrap ng-modal
Original Q&A
1

There are 1 answers

2
Julia Passynkova Julia Passynkova On 2017-06-20T14:20:38+00:00 20 June 2017 at 14:20

You can get a reference to the component instance from NgbModalRef returned by open method and set the binging there.

here is method that open the modal:

open() {
   const instance = this.modalService.open(MyComponent).componentInstance;
   instance.name = 'Julia';
 }

and here is the component that will be displayed in the modal with one input binding

export class MyComponent {
   @Input() name: string;

   constructor() {
   }
 }

===

You can pass a templateRef as input as well. Let say the parent component has

 <ng-template #tpl>hi there</ng-template>


 export class AppComponent {
   @ViewChild('tpl') tpl: TemplateRef<any>;

  constructor(private modalService: NgbModal) {
  }

 open() {
    const instance = 
    this.modalService.open(MyComponent).componentInstance;
     instance.tpl = this.tpl;
  }
}

and MyComponent:

export class MyComponentComponent {
  @Input() tpl;

  constructor(private viewContainerRef: ViewContainerRef) {
  }

  ngAfterViewInit() {
     this.viewContainerRef.createEmbeddedView(this.tpl);
  }
}

Related Questions in JAVASCRIPT

  • Using Puppeteer to scrape a public API only when the data changes
  • inline SVG text (js)
  • An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
  • Storing the preferred font-size in localStorage
  • Simple movie API request not showing up in the console log
  • Authenticate Flask rest API
  • Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
  • How to request administrator rights?
  • mp4 embedded videos within github pages website not loading
  • Scrimba tutorial was working, suddenly stopped even trying the default
  • In Datatables, start value resets to 0, when column sorting
  • How do I link two models in mongoose?
  • parameter values only being sent to certain columns in google sheet?
  • Run main several times of wasm in browser
  • Variable inside a Variable, not updating

Related Questions in ANGULAR

  • Firebase link existing user to anonymous account?
  • It doesnt always show all the books on my homepage
  • Google adsense ads.txt status cannot be not found
  • When I navigate to the URL'http://localhost:4200/', it redirects me back
  • Ionic Angular Standalone ion-icon are not showing at all
  • How to make Angular understand that view child is of a specific type, not a general ElementRef?
  • vscode, debug angular, first time, doesn't debug, 2nd time stops at main.js then it's ok
  • How to perform CRUD operations on a static JSON array in Angular? (without API)
  • Ngrx props<>() method in createAction()
  • How to animate rotation of an image inside input control?
  • Detecting click inside and outside of the listening component in Angular
  • Angular - type guard not narrowing types
  • In node_modules file i am getting Angular genric error while using fontawesome in angular12
  • Angular 16 sending null values to API
  • GoogleCloud Error: Not Found The requested URL was not found on this server

Related Questions in TYPESCRIPT

  • It doesnt always show all the books on my homepage
  • S3 integration testing
  • Make some of the type's field optional
  • storybook 7 does not recognize module declarations
  • Page in React only renders elements after refreshing
  • Error Inserting into Supabase: Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member
  • vscode, debug angular, first time, doesn't debug, 2nd time stops at main.js then it's ok
  • Get remote MKV file metadata using nodejs
  • Vue/TailwindCSS - Content is behind Sidebar
  • TypeScript Error only on big type only when assigned to a variable
  • pnpm firebase app "Could not find a declaration file for module 'mime'"
  • TypeScript: Type checking while parsing an arbitrary JSON that is typed/
  • Issue with BBCode image tag on React
  • Typescript: returnType based on value 'single' prop
  • Failed to resolve import, but the path is valid, and detected as such by VSCode

Related Questions in NG-BOOTSTRAP

  • Tooltip buttons not working as expected/ Tooltip Closing when button is clicked
  • NgbModal from ng-bootstrap freezing and not working in ng-bootstrap version 15 and Angular version 16
  • Angular 17 - RangeError: Maximum call stack size exceeded on getComputedStyle
  • Customizing ngb-typeahead button (dropdown-item) in anglular
  • Angular 17 and ng-bootstrap,ngb-pagination problem
  • How to implement responsive offcanvas with ng-bootstrap
  • How can I write a custom type declaration for NgbModal that correctly infers the type of modalInstance?
  • ngbTooltip - Cancel tooltip appearance during delay
  • TypeError: Cannot read properties of null (reading '$implicit') with async pipe
  • ngb datepicker hover issue
  • Angular 17.0.6 issue with ng-bootstrap 16 heeeeeelp
  • cannot access accordion properties in component .ts file in angular using ng-bootstrap angular 17
  • How to Reshow ngbAlert (Bootstrap widgest for Angular) message again after dismissing it
  • Angular 17.0.9 issue with ng-bootstrap 16
  • ng-bootstrap scrollspy doesn't work without height?

Related Questions in NG-MODAL

  • Angular - set dropdown object value upon deleting a dropdown object is not working
  • Refresh a Select Dropdown After Saving Modal Form
  • How to not update the data after cancel or close the modal in Angular?
  • Angular 11 - mat-sort is not working in ng-modal table
  • Angular NgbModal, how to correctly close a modal window?
  • How Scroll to a div in ng-template?
  • Angular NgModal opens but can't click in any input or button
  • Group by Question and ng-model differentiation with AngularJS
  • Angular7 and NgbModal: how to remove default auto focus
  • How can I check that a form has unsaved changes before closing ng-modal in Angular 5?
  • Does the windowClass property or NgbModalOptions actually do anything?
  • ng-options with multiple select/Checkbox
  • How to vertically center modal dialog using ng-modal
  • Angular2 bootstrap modal with child component
  • ng-bootstrap modal opens component, but places html-selector

Popular Questions

  • How do I undo the most recent local commits in Git?
  • How can I remove a specific item from an array in JavaScript?
  • How do I delete a Git branch locally and remotely?
  • Find all files containing a specific text (string) on Linux?
  • How do I revert a Git repository to a previous commit?
  • How do I create an HTML button that acts like a link?
  • How do I check out a remote Git branch?
  • How do I force "git pull" to overwrite local files?
  • How do I list all files of a directory?
  • How to check whether a string contains a substring in JavaScript?
  • How do I redirect to another webpage?
  • How can I iterate over rows in a Pandas DataFrame?
  • How do I convert a String to an int in Java?
  • Does Python have a string 'contains' substring method?
  • How do I check if a string contains a specific word?

Popular Tags

javascript python java c# php android html jquery c++ css ios sql mysql r reactjs node.js arrays c asp.net json

Trending Questions

  • UIImageView Frame Doesn't Reflect Constraints
  • Is it possible to use adb commands to click on a view by finding its ID?
  • How to create a new web character symbol recognizable by html/javascript?
  • Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
  • Heap Gives Page Fault
  • Connect ffmpeg to Visual Studio 2008
  • Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
  • How to avoid default initialization of objects in std::vector?
  • second argument of the command line arguments in a format other than char** argv or char* argv[]
  • How to improve efficiency of algorithm which generates next lexicographic permutation?
  • Navigating to the another actvity app getting crash in android
  • How to read the particular message format in android and store in sqlite database?
  • Resetting inventory status after order is cancelled
  • Efficiently compute powers of X in SSE/AVX
  • Insert into an external database using ajax and php : POST 500 (Internal Server Error)
  • Privacy
  • Terms
  • Cookies
  • Homegardensmart
  • Math
  • Aftereffectstemplates