state
はテンプレートに戻る前にロジックを行う必要がありますが、それはわかりましたが、私はついにtemplateProvider
について学びました。これを思いついた。angle-ui router - templateProviderからHTMLとコントローラにコンテンツを取得する
.state('home.read', {
url: '/read/{id:u}',
templateProvider: ($stateParams:ng.ui.IStateParamsService, $http:ng.IHttpService, $settings:ISettings) => {
return $http({
url: String.format('{0}/api/articles/read/{1}', $settings.uri(), $stateParams['id']),
method: 'GET',
withCredentials: true
}).then((response) => {
return response.data;
});
}
})
これは、サーバーから必要なデータを取得し、資格情報などでフィルタリングします。それは私が戻ったものが私が必要とするものであることを保証する。
私は混乱しています。これをコントローラに手に入れて、適切な.html
テンプレートをロードして使用するにはどうすればいいですか?
テンプレートは文字列として渡すには複雑すぎます。静的なHTMLファイルとして存在する必要があります。私はtemplateUrl
を使用しようとしましたが、動作していないようです。たとえそれがあったとしても、コントローラにデータをどのように取得するのかはまだわかりません。具体的には、$scope
に接続する必要があるためです。
templateUrlが動作するはずです。コンソールに何かエラーがありましたか? plunkrをアップロードできますか? –
'templateUrl'は私をHTMLページに導くことができますが、' templateProvider'の結果をHTMLページが使用するコントローラの '$ scope'に意味のある変数にする方法についてはまだ分かりません。 – Ciel
' templateProvider 'は、動的に動的テンプレートを作成するために使用されます。文字列でフォーマットされたテンプレート(HTMLの文字列表現)を返します。 ページが読み込まれる前にいくつかのデータを**解決したい場合は、wikiの 'resolve'オプションを見てください:https://github.com/angular-ui/ui-router/wiki –