0

这可能是不可行的,但如果没有任何数据,我会隐藏一个列表,然后希望在有东西被推送到它时显示这个列表。

这是一个工作示例 - 理论上,“未找到待办事项”消息应该消失,然后出现一个列表。我在 Add 按钮下方包含了 $scope.todos 的转储,以显示 $scope 更新。
http://plnkr.co/edit/4hwkwn?p=preview

我可以告诉 DOM 在 add() 调用之后更新吗?

4

3 回答 3

1

ng-show显示值何时为真,在示例中您传入一个空数组。尽管数组是空的,但它是一个真值,这意味着在布尔上下文中评估时该值强制为真。

如果您想在列表为空时隐藏列表,您可以执行ng-show="todos.length"评估为0等于false并因此隐藏元素的操作。同样的逻辑也适用于ng-hide

Plunkr

于 2014-06-13T13:09:41.390 回答
0

根据todos列表是否为空来隐藏或显示:

<p ng-hide="todos.length >0">No todos found.</p>

<ul ng-show="todos.length > 0">
  <li ng-repeat="todo in todos">{{todo.title}}</li>
</ul>
于 2014-06-13T13:12:37.543 回答
0

您可以创建条件表达式以显示或隐藏项目,例如您可以这样写:

<ul ng-show="todos.length >= 1">
      <li ng-repeat="todo in todos">{{todo.title}}</li>
    </ul>

有关表达式的更多信息:https ://docs.angularjs.org/guide/expression

于 2014-06-13T13:22:36.500 回答