This repository was archived by the owner on Apr 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27.4k
Input with ng-model as default transclude keeps validators alive #14765
Milestone
Comments
Can you please post a demo in a plnkr or similar? |
Can you please send me an angular-ready environment in plnkr or similar? |
There you go: Thanks! |
dcherman
added a commit
to dcherman/angular.js
that referenced
this issue
Jun 14, 2016
If the transclude function did not return content, then the transcluded scope that was created needs to be cleaned up in order to avoid a slight amount of unnecessary overhead since the additional scope is no longer needed. If the transcluded content did return content, the the fallback content should never have been linked in the first place as it was intended to be immediately removed. Fixes angular#14768 Fixes angular#14765
dcherman
added a commit
to dcherman/angular.js
that referenced
this issue
Jun 14, 2016
If the transclude function did not return content, then the transcluded scope that was created needs to be cleaned up in order to avoid a slight amount of unnecessary overhead since the additional scope is no longer needed. If the transcluded content did return content, the the fallback content should never have been linked in the first place as it was intended to be immediately removed. Fixes angular#14768 Fixes angular#14765
petebacondarwin
pushed a commit
that referenced
this issue
Jun 17, 2016
If the instance of the directive does provide transcluded content, then the fallback content should not be compiled and linked as it will never be used. If the instance of the directive does not provide transcluded content, then the transcluded scope that was created for this non-existent content is never used, so it should be destroy in order to clean up unwanted memory use and digests. Fixes #14768 Fixes #14765 Closes #14775
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Note: for support questions, please use one of these channels: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question. This repository's issues are reserved for feature requests and bug reports.
Do you want to request a feature or report a bug?
Report a bug
What is the current behavior?
When using multi slot transclusion, if an input element with ng-model is being used as the default\fallback, when replace with trascluded content, validators from the default input are still present and are preventing the form from being valid.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).
I think it is explained well above.
What is the expected behavior?
The validators should be destroyed in the $destroy function of the NgModelController
What is the motivation / use case for changing the behavior?
Explained aboe
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
angular 1.5.6
chrome 51.0.2704.84
Mac osx El Capitan
I just started using the multi slot transclusion and since it is new, i don't believe this ever worked before.
Other information (e.g. stacktraces, related issues, suggestions how to fix)
for now i used ng-if on the default input as a workaround and checked for transcluded slot existance.
The text was updated successfully, but these errors were encountered: