$viewChangeListeners solution for #135 #155
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Heres the refactor of my previous solution for #135 that uses
$viewChangeListenersinstead of adding anng-changeattribute.I've separated out the
validateMultipleFieldsdirective into a directive and controller. EachngModelControllerfor thengFormis then passed to theValidateMultipleFieldsCtrlby aninputdirective, as they're are issues when trying to directly access them within thevalidateMultipleFieldsdirective.For example, with the 'sex' radio boxes in the example, if you attempt to access them within the
validateMultipleFieldsdirective, as they both have the same name, you end up accessing the samengModelControllertwice on thengFormController. Which results in multiple$viewChangeListenerfunctions being added to the samengModelController.Where as if you pass them from their own
inputdirective, they're two seperatengModelControllerinstances.I hope that makes sense.
I've tested it in FF, chrome and safari and it works as expected.
Let me know what you think?