我在模板中有类似以下内容:
<div ng-if="foo"> ... </div> <div ng-class="foo && 'foo-is-present'"> ... </div>
在此范围的控制器中,我有以下内容:
$scope.foo = $resource("path/to/resource").query();
资源加载只是找到并返回一个简单的 JSON 数组(通过在 Chrome 中观看请求来验证),其他调试显示foo
包含该数组,完全符合其应有的状态。第二个按预期div
应用foo-is-present
该类,但是第一个div
仍然将其ng-if
评估为 false,从而阻止其div
呈现。
这似乎不对,因为我希望div
在加载资源结果后首先显示它。我在这里想念什么?
编辑结果ng-if
是“truthy”的版本不包括数组,即使数组不为空。我可以通过添加将条件变为 来解决此问题ng-if="!!foo"
,但这感觉很糟糕。如果有人有更好的见解或解决方案,请分享!