$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
$viewChangeListeners
instead of adding anng-change
attribute.I've separated out the
validateMultipleFields
directive into a directive and controller. EachngModelController
for thengForm
is then passed to theValidateMultipleFieldsCtrl
by aninput
directive, as they're are issues when trying to directly access them within thevalidateMultipleFields
directive.For example, with the 'sex' radio boxes in the example, if you attempt to access them within the
validateMultipleFields
directive, as they both have the same name, you end up accessing the samengModelController
twice on thengFormController
. Which results in multiple$viewChangeListener
functions being added to the samengModelController
.Where as if you pass them from their own
input
directive, they're two seperatengModelController
instances.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?