テンプレートに次のようなものがあります。
<div ng-if="foo"> ... </div> <div ng-class="foo && 'foo-is-present'"> ... </div>
このスコープのコントローラーには、次のものがあります。
$scope.foo = $resource("path/to/resource").query();
リソースは find だけをロードし、単純な JSON 配列 (Chrome でリクエストを監視して確認) を返し、foo
その配列を含む他のデバッグ ショーを正確に表示します。2 番目は期待どおりにクラスをdiv
適用しますが、最初のクラスはまだfalse に評価されているため、レンダリングできません。foo-is-present
div
ng-if
div
div
リソースの結果がロードされたら最初に表示されるようにしたいので、これは正しくないようです。ここで何が欠けていますか?
編集配列がng-if
空でなくても、「真実」のバージョンには配列が含まれていないことがわかりました。条件を に変更することでこれを回避できましたng-if="!!foo"
が、これはハッキーに感じます。誰かがより良い洞察や解決策を持っている場合は、共有してください!