2017-09-27 4 views
0

dataオブジェクトに文字列を返すメソッドを実行したい。角1/ui-router - データオブジェクトに関数を実行

たとえば、メソッドによって返された結果が "Richard Stallman"の場合、私はこれをコントローラで使用したい:this。 $state.current.data.title等しい "リチャード・ストールマン" 私は単純にやったかのように:

data: { 
    title: "Richard Stallman" 
    } 

私の状態:これは、一般的にresolveブロックすることによって解決される

.state({ 
    name: 'agent.production.myiad.project.detail.edit.headers.overlay.comment', 
    url: '/comment', 
    data: { 
    title: (project, IadProjectUtilService) => { 
      IadProjectUtilService.getProjectName(project) 
     } 
    }, 
    component: 'iadAgentMyIadComment' 
}) 

答えて

1

.state({ 
    name: 'agent.production.myiad.project.detail.edit.headers.overlay.comment', 
    url: '/comment', 
    resolve: { 
    title: (project, IadProjectUtilService) => { 
      IadProjectUtilService.getProjectName(project) 
     } 
    }, 
    component: 'iadAgentMyIadComment' 
}); 

...

uirouterはIadProjectUtilService.getProjectName(project)によって返された約束を待ってから、コンポーネントのtitleバインディングにバインドされます。ここ

.component('iadAgentMyIadComment', { 
    bindings: { title: '<' }, 
    controller: IadAgentMyIadCommentController, 
}); 

コンポーネントへのルーティングのガイドである:https://ui-router.github.io/guide/ng1/route-to-component#resolve-bindings

関連する問題