docs(ngModelController): $parent can help isolate scope directives

This commit is contained in:
basarat 2013-10-16 12:13:54 +11:00 committed by Pete Bacon Darwin
parent db9c6a3528
commit 46d396df72

View file

@ -939,14 +939,14 @@ var VALID_CLASS = 'ng-valid',
* Note that if you have a directive with an isolated scope, you cannot require `ngModel` * Note that if you have a directive with an isolated scope, you cannot require `ngModel`
* since the model value will be looked up on the isolated scope rather than the outer scope. * since the model value will be looked up on the isolated scope rather than the outer scope.
* When the directive updates the model value, calling `ngModel.$setViewValue()` the property * When the directive updates the model value, calling `ngModel.$setViewValue()` the property
* on the outer scope will not be updated. * on the outer scope will not be updated. However you can get around this by using $parent.
* *
* Here is an example of this situation. You'll notice that even though both 'input' and 'div' * Here is an example of this situation. You'll notice that the first div is not updating the input.
* seem to be attached to the same model, they are not kept in synch. * However the second div can update the input properly.
* *
* <example module="badIsolatedDirective"> * <example module="badIsolatedDirective">
<file name="script.js"> <file name="script.js">
angular.module('badIsolatedDirective', []).directive('bad', function() { angular.module('badIsolatedDirective', []).directive('isolate', function() {
return { return {
require: 'ngModel', require: 'ngModel',
scope: { }, scope: { },
@ -961,8 +961,9 @@ var VALID_CLASS = 'ng-valid',
}); });
</file> </file>
<file name="index.html"> <file name="index.html">
<input ng-model="someModel"> <input ng-model="someModel"/>
<div bad ng-model="someModel"></div> <div isolate ng-model="someModel"></div>
<div isolate ng-model="$parent.someModel"></div>
</file> </file>
* </example> * </example>
* *