Titanium JIRA Archive
Appcelerator Community (AC)

[AC-6108] Calling close() with a Ti.UI.Animation will run before $.destroy() causing binding events to fire on close.

GitHub Issuen/a
TypeImprovement
Priorityn/a
StatusResolved
ResolutionInvalid
Resolution Date2019-01-29T17:40:10.000+0000
Affected Version/sn/a
Fix Version/sn/a
ComponentsAlloy
Labelsn/a
ReporterNick Kemp
AssigneeShak Hossain
Created2019-01-15T23:11:10.000+0000
Updated2019-01-29T17:40:10.000+0000

Description

With data binding if you close a view from the controller with a Ti.UI.Animation parameter and have called $.destroy() in the same close function, the animation runs first causing binding events to fire, effective making $.destroy useless in this context. Without an animation parameter $.destroy works as intended. To remedy I have placed a $.removeListener() call before the $.getView().close(Ti.UI.createAnimation({})) call. It might be a good idea to pop this in the docs as it's not *really* a bug.

Comments

  1. Sharif AbuDarda 2019-01-19

    Hello [~nickkemp], Can you share a sample core that demonstrates the behavior? Please send the standalone sample code and steps to reproduce the issue. Thanks.
  2. Rakhi Mitro 2019-01-28

    Hello [~nickkemp],  We haven't heard back from you since our last response. I thought I’d check in to see how things are progressing on your end. Did you manage to create sample a test project?  Have a great day.
  3. Nick Kemp 2019-01-28

    Hi Rakhi, I have created a test case, but couldn't reproduce. I think it maybe related to alloyXL.js. My current thinking is that due to the event binding in alloyXL, the js call stack is different causing the behaviour I'm seeing. I will continue to look at it, but it seems it's something for the alloyXL not you guys. Cheers,

JSON Source