ngInclude
ディレクティブを使用してHTMLフラグメントをロードしています。今、動的URLを渡す最善の方法を探しています。私は文字列連結でURLを作成できることを知っています:AngularJS:ngインクルードとダイナミックURL
<ng-include src="'/foo/' + fooId + '/bar/' + barId + '/baz/' + bazId"></ng-include>
私の目では、これは少し醜いです。
ngHref
となどは、たとえば、{{}}
マークアップを含むURLを受け入れます。 IMHOこの構文ははるかにクリーンです:
<img ng-src="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
<a ng-href="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
動的URLをngIncludeに渡すより良い方法はありますか?
コールバック関数は必要ですか?直接$ scope.templateUrl = "/ foo /" ...に直接影響しないのはなぜですか? – MaximeBernard
コールバックは唯一の方法ではありません。スコープに確実に 'templateUrl'プロパティを作成することができます。 'fooId'、' barId'、 'bazId'が変更されるたびに、' templateUrl'の値を更新する一貫した方法が必要になります。 – jessegavin
したがって、コールバックを使用すると、templateUrlの値が「自動的に」更新されますが、templateUrlには直接影響しません。 – MaximeBernard