2017-01-12 5 views
-1

Ich verwende MVC mit Winkel 2. Wenn ich versuche, den ViewBag-Wert oder sogar einen hart codierten Wert als eine Eingabe an meine app.component.ts zu übergeben, sehe ich Nullwert. Ich habe sogar versucht ElementRef ohne GlückAngular 2 ViewBag an die Wurzelkomponente übergeben

index.cshtml

@{ 
    ViewData["Title"] = "Home Page"; 
} 
<div> 

    <pm-app [linkID][email protected]></pm-app> 

</div> 

app.component.ts

import { Component, OnInit,Input,ElementRef} from '@angular/core'; 
import { NavMenuService } from './navmenu/navMenu.service'; 
//import { ITitle } from './app'; 

@Component({ 
    selector: 'pm-app', 
    moduleId: module.id, 
    templateUrl: 'app.component.html', 
    providers: [NavMenuService] 
}) 
export class AppComponent implements OnInit { 
    @Input() linkID: any; 
    pageTitle: any[]; 
    title: string; 
    titleID: number; 
    errorMessage: string; 
    constructor(private _navMenuService: NavMenuService, elm: ElementRef) { 
     this.linkID = elm.nativeElement.getAttribute('linkID'); 
     console.log('linkid cons: ' + this.linkID); 
    } 

    ngOnInit(): void { 
     console.log('linkid: ' + this.linkID); 
     this._navMenuService.getLinkName(this.linkID) 
      .subscribe(
      data => { 
       this.titleID = data.result.LinkID; 
       this.title = data.result.LinkName; 


      }, 
      error => this.errorMessage = <any>error); 

    } 

} 

Ausgabe in consol

linkid cons: null 
linkid : null 

mit Können Sie mir sagen, was am Ich vermisse?

Antwort

1

habe es, musste nur meine Index-Seite ändern statt [linkID] = @ ViewBag.GWLinkID zu

@{ 
    ViewData["Title"] = "Home Page"; 
} 
<div> 

<pm-app [email protected]></pm-app> 

</div> 
Verwandte Themen