我在 Angular 中遇到了我没想到的行为,这篇文章的目的是找出这是一个错误还是有意为之,并可能解释为什么它是有意的。
首先看到这个 Plunkr:http ://plnkr.co/edit/CB7k9r?p=preview 。在示例中,我创建了一个名为 array 的数组,其中包含三个对象条目。此外,我根据输入字段的内容(称为切换)创建了一个 ng-switch。当 toggle 的值为 1 时,它应该打印数组中所有以“1”为前缀的对象名称,否则以“other”为前缀。
这不能按预期工作,并显示错误:
Error: Argument '?' is required at assertArg
然而,相同的示例重写(http://plnkr.co/edit/68Mfux?p=preview)在列表周围有一个额外的 div,ng-switch 移动到这个 div 和 ng-switch-when 从 li 移动到ul(将 ng-repeat 和 ng-switch-when 分开)确实按预期工作。
有人可以解释这是为什么吗?