Binds the given expression to the value of the element.
It is mainly used on input[radio]
and option elements,
so that when the element is selected, the ngModel
of that element (or its
select
parent element) is set to the bound value. It is especially useful
for dynamically generated lists using ngRepeat
, as shown below.
It can also be used to achieve one-way binding of a given expression to an input element
such as an input[text]
or a textarea
, when that element does not use ngModel.
<ANY
[ng-value="string"]>
...
</ANY>
Param | Type | Details |
---|---|---|
ngValue
(optional)
|
string |
AngularJS expression, whose value will be bound to the |
<script>
angular.module('valueExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.names = ['pizza', 'unicorns', 'robots'];
$scope.my = { favorite: 'unicorns' };
}]);
</script>
<form ng-controller="ExampleController">
<h2>Which is your favorite?</h2>
<label ng-repeat="name in names" for="{{name}}">
{{name}}
<input type="radio"
ng-model="my.favorite"
ng-value="name"
id="{{name}}"
name="favorite">
</label>
<div>You chose {{my.favorite}}</div>
</form>
var favorite = element(by.binding('my.favorite'));
it('should initialize to model', function() {
expect(favorite.getText()).toContain('unicorns');
});
it('should bind the values to the inputs', function() {
element.all(by.model('my.favorite')).get(0).click();
expect(favorite.getText()).toContain('pizza');
});