2017-01-11 5 views
0

静的データをアプリコンポーネントにフィードするにはどうすればよいですか?アプリコンポーネントにパラメータを渡す

MyView.cshtml

<some-viewing-app [workflows]="@Json.Encode(ViewBag.Workflows)"></some-viewing-app> 

かを:私はコンポーネントの初期化時にデータを使用したい、角度1.xでngInitのようなビットは

これは私が試したものです

<some-viewing-app workflows="@Json.Encode(ViewBag.Workflows)"></some-viewing-app> 

SomeViewi ngAppComponent.ts

export interface IWorkflowMap { 
    [id: number]: string; 
} 

@Component({ 
    selector: 'some-viewing-app', 
    providers: [...], 
    template: `...`, 
}) 
export class AppComponent { 
    @Input() 
    workflows: IWorkflowMap; 

    ngOnInit() { 
    this.leadApiService.workflows = this.workflows; // == undefined! :(
    } 
} 

は私も同じ結果とコンストラクタからワークフローを読んでみました。私はこのソリューションをAJAXで静的にフェッチすることよりも好きです。

答えて

0

私はElementRefデータセットプロパティを使用してそれを "解決"しました。

View.cshtml

<app data-workflows="@Json.Encode(ViewBag.Workflows)"></app> 

app.component.ts

@Component({...}) 
export class AppComponent { 
    constructor(rootElement: ElementRef) { 
     workflows = JSON.parse(rootElement.nativeElement.dataset['workflows']); 
    } 
} 
関連する問題