docs(ngSwitch): clarify that ngSwitch matches against string literals

Closes #5285
This commit is contained in:
Pete Bacon Darwin 2013-12-12 11:42:49 +00:00
parent 82e97cf53e
commit 9396d55414

View file

@ -6,19 +6,26 @@
* @restrict EA * @restrict EA
* *
* @description * @description
* The ngSwitch directive is used to conditionally swap DOM structure on your template based on a scope expression. * The `ngSwitch` directive is used to conditionally swap DOM structure on your template based on a scope expression.
* Elements within ngSwitch but without ngSwitchWhen or ngSwitchDefault directives will be preserved at the location * Elements within `ngSwitch` but without `ngSwitchWhen` or `ngSwitchDefault` directives will be preserved at the location
* as specified in the template. * as specified in the template.
* *
* The directive itself works similar to ngInclude, however, instead of downloading template code (or loading it * The directive itself works similar to ngInclude, however, instead of downloading template code (or loading it
* from the template cache), ngSwitch simply choses one of the nested elements and makes it visible based on which element * from the template cache), `ngSwitch` simply choses one of the nested elements and makes it visible based on which element
* matches the value obtained from the evaluated expression. In other words, you define a container element * matches the value obtained from the evaluated expression. In other words, you define a container element
* (where you place the directive), place an expression on the **on="..." attribute** * (where you place the directive), place an expression on the **`on="..."` attribute**
* (or the **ng-switch="..." attribute**), define any inner elements inside of the directive and place * (or the **`ng-switch="..."` attribute**), define any inner elements inside of the directive and place
* a when attribute per element. The when attribute is used to inform ngSwitch which element to display when the on * a when attribute per element. The when attribute is used to inform ngSwitch which element to display when the on
* expression is evaluated. If a matching expression is not found via a when attribute then an element with the default * expression is evaluated. If a matching expression is not found via a when attribute then an element with the default
* attribute is displayed. * attribute is displayed.
* *
* <div class="alert alert-info">
* Be aware that the attribute values to match against cannot be expressions. They are interpreted
* as literal string values to match against.
* For example, **`ng-switch-when="someVal"`** will match against the string `"someVal"` not against the
* value of the expression `$scope.someVal`.
* </div>
* @animations * @animations
* enter - happens after the ngSwitch contents change and the matched child element is placed inside the container * enter - happens after the ngSwitch contents change and the matched child element is placed inside the container
* leave - happens just after the ngSwitch contents change and just before the former contents are removed from the DOM * leave - happens just after the ngSwitch contents change and just before the former contents are removed from the DOM
@ -30,6 +37,7 @@
* <ANY ng-switch-default>...</ANY> * <ANY ng-switch-default>...</ANY>
* </ANY> * </ANY>
* *
*
* @scope * @scope
* @priority 800 * @priority 800
* @param {*} ngSwitch|on expression to match against <tt>ng-switch-when</tt>. * @param {*} ngSwitch|on expression to match against <tt>ng-switch-when</tt>.