0

これは実際に機能します:

<div ng-include="'/partials/' + items.my_filename + '.html'"></div>

しかし、ファイルが見つかっても、まだエラーが発生します。

GET http://localhost:9000/partials/.html 404 (Not Found) 

私はそれがうまくいったことをうれしく思いますが、誰もエラーを取り除く方法を知っていますか?

編集:リモートデータベースから変数を取得していますが、遅延がエラーの原因になっている可能性がありますか?

EDIT2:はい、それが原因です。これは Firebase に関する質問だと思います。

4

2 に答える 2

1

使用するng-if

<div ng-if="items.my_filename" ng-include="'/partials/' + items.my_filename + '.html'"></div>

例: With ng-if : http://jsfiddle.net/TheSharpieOne/daFhp/1/ ファイル名を使用した 1 つの呼び出しのみに注意してください (そのファイルが存在する場合に機能します)。

例:なし ng-if: http://jsfiddle.net/TheSharpieOne/daFhp/ 2 つの呼び出しに注意してください。1 つには var/file 名がありません。ファイル名を持つもの (そのファイルが存在する場合に機能します)。

$timeout例では、AJAX 呼び出しの遅延をシミュレートするために使用しています。

ng-if悪いコールを防ぎます。

更新
AngularJS の新しいバージョン (1.2.0-rc3+) とng-if同じ要素を使用すると、問題が発生しますng-includeng-includeこれを修正するには、要素を で要素にラップするだけですng-if

<div ng-if="items.my_filename">
    <div ng-include="'/partials/' + items.my_filename + '.html'"></div>
</div>
于 2013-09-17T18:43:11.673 に答える