Dynamic template url


Hi all,

Yes this questions is asked several times on the internet. However I did not succeed in finding a good solution. I want to get the template url from the navparams.

So the best solution for me would be that I could extract some string from the navparams. This string would be the template url. I would then set the template url in the @component decorator and so the app knows which template it should use. Unfortunately this doesn’t work…

import {Component} from '@angular/core';

    selector: 'page-data-list',
    templateUrl: this.navParams.get('templateUrl')

export class DataListPage {

    items: any;

     * Constructor.
     * @param navCtrl
     * @param dataService
     * @param navParams
    constructor(public navParams: NavParams) {


The error that is thrown says that the this keyword is undefined.
Anyone has an idea how to solve this problem?


That kind of setup is not possible with Angular 2.
The better approach would be to just change the template logic depending on your template needs.