-
Notifications
You must be signed in to change notification settings - Fork 27.4k
cleanData override breaks when jQuery UI is included after angular #8471
Comments
The property is used because the bindJQuery function may be invoked twice and the We'll probably have to export it directly to the Thanks for the report! |
no problem! thanks! |
(thinking out loud) I think that putting all other Line 2050 in 60c13a1
and we need to invoke it without the Angular patch but with all other patches so that we don't break other libs. But if we wrapped first and jQuery UI wrapped second, we can't invoke the version patched only by jQuery UI since there's no such version available. One way would be to extend the method with an optional additional parameter-flag indicating the Angular patch should be skipped but unfortunately jQuery UI invokes the patched method explicitely passing only the first parameter: EDIT: or maybe I'll try to use a flag from outside the |
…eanData Some libraries (like jQuery UI) patch jQuery.cleanData as well. This commit makes Angular work correctly even if such external patching was done after the Angular one. Fixes angular#8471
…eanData Some libraries (like jQuery UI) patch jQuery.cleanData as well. This commit makes Angular work correctly even if such external patching was done after the Angular one. Fixes angular#8471
…eanData Some libraries (like jQuery UI) patch jQuery.cleanData as well. This commit makes Angular work correctly even if such external patching was done after the Angular one. Fixes angular#8471
…eanData Some libraries (like jQuery UI) patch jQuery.cleanData as well. This commit makes Angular work correctly even if such external patching was done after the Angular one. Fixes angular#8471
…eanData Some libraries (like jQuery UI) patch jQuery.cleanData as well. This commit makes Angular work correctly even if such external patching was done after the Angular one. Fixes angular#8471
Fix landed. |
Nice! Fantastic work, thanks a lot! |
@attilah sums this issue up very well in his gist, but here's the TLDR:
angular overrides
jQuery.cleanData
function, storing original injQuery.cleanData.$$original
. jQuery UI also overrides this method. So if you incidentally include jquery, then angular, then jquery UI (not farfetched,grunt bower-install
does not guarantee a particular order), the$$original
is no longer available and angular throws aundefined is not a function
error when trying to call$$original
.The text was updated successfully, but these errors were encountered: