2

ソースデータにcssファイルを指すURLが含まれているため、テンプレートのレンダリング時にこれらのファイルをロードする必要があります。

コントローラには次のようなものがあります。

$scope.links = myData.query();

そしてビューで私はこれを試しました:

<link ng-repeat="link in links" rel="stylesheet" type="text/css" href="{{link}}">

もちろん、Angularがパーツを埋める前に、ブラウザはURLが存在しないと{{link}}文句を言います。{{link}}

そのため、リンクの代わりにマークアップを発行することになりました。

$scope.links = "<link rel=\"stylesheet\" type=\"text/css\" href=\"http://example.com\">";

およびテンプレート内:

<div ng-bind-html-unsafe="links"></div>

ng-bind-html安全でないバージョンを使用する必要があります。

これを達成するためのより良い方法はありますか?

4

2 に答える 2

3

ngHrefを使用することをお勧めします。

<link ng-repeat="link in links" rel="stylesheet" type="text/css" ng-href="{{link}}">
于 2012-11-04T01:30:59.417 に答える
1

常にAngularJSハッシュタグを使用している場合、通常は適切なディレクティブモジュール(この場合はngHref)が必要です。これを使用しない場合、Angularがリンクを適切なURLに置き換える時間ができるまで、404エラーが返される可能性があります。

詳細については、ドキュメントを参照してください。
https://docs.angularjs.org/api/ng/directive/ngHref

于 2014-07-25T15:25:13.753 に答える