javascript - cannot perform operations on a Metamorph that is not in the DOM -


so using ember 1.5.1 , ember-data 1.0.0 beta7

i have following routes

app.router.map -> @resource "items" @resource 'item', path: '/items/:id

item fetched server. these 2 routes work fine if start on route; weird thing happens when start on item page (/items/1), try navigate /items/ through link action handled function this.transitiontoroute("items") in itemcontroller. got following error:

attempting transition items ember.js?body=1:3524

transition #2: items: calling beforemodel hook ember.js?body=1:3524

transition #2: items: calling deserialize hook ember.js?body=1:3524

error while loading route: error: cannot perform operations on metamorph not in dom. @ metamorph.checkremoved (http://localhost:3000/assets/ember.js?body=1:27009:15) @ metamorph.html (http://localhost:3000/assets/ember.js?body=1:26979:12) @ object.dommanager.empty (http://localhost:3000/assets/ember.js?body=1:27974:16) @ object.ember.merge.empty (http://localhost:3000/assets/ember.js?body=1:25139:21) @ ember.collectionview.ember.containerview.extend.arraywillchange (http://localhost:3000/assets/ember.js?body=1:25962:25) @ object.sendevent (http://localhost:3000/assets/ember.js?body=1:2600:14) @ ember.array.ember.mixin.create.arraycontentwillchange (http://localhost:3000/assets/ember.js?body=1:15317:11) @ superfunction [as _super] (http://localhost:3000/assets/ember.js?body=1:7726:16) @ recordarray.extend.arraycontentwillchange (http://localhost:3000/assets/ember-data.js?body=1:7624:28) @ superwrapper [as arraycontentwillchange] (http://localhost:3000/assets/ember.js?body=1:1295:16)  

transition #2: items: transition aborted

however, click on link again, , transition succeeds. works fine no matter how navigate between 2 routes.

my initial guess not records have been loaded, when try transition, though start on /items/ , go /items/1 try go /items/, still same error.

try this, add following code in action

ember.run.scheduleonce('afterrender', this, function(){     this.transitiontoroute("items"); }); 

update:

ok checked stacktrace. problem not because of transitiontoroute. metamorph issue, little hard debug directly. may caused wrong handlebars expressions.

  • as pointed out in this link, simple issue can using html comment blocks.

    {{! comment not in output }}
    < !-- comment in output -- >

  • manually manipulating dom. if manually remove script tags, then, won't found.

  • malformed html. let's left open div, metamorph-##-end tag nested @ different level start tag.

i have extracted lot of these points other questions think may you


Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -