Note that there are some explanatory texts on larger screens.

plurals
  1. POEmberjs 1.0-pre router can't find state for path and says router is undefined
    primarykey
    data
    text
    <p>This <strong><a href="http://jsfiddle.net/CNydA/8/" rel="nofollow">Emberjs router</a></strong> refuses to work with jsfiddle Jquery onDomReady and returns the error ; <strong>Uncaught Error: assertion failed: Could not find state for path: "root"</strong>.</p> <p>However, when i change the jsfiddle jquery settings to <strong>onLoad</strong>, the page loads but the router still seems unrecognized and any attempt to do a manually transition of the router fails with the message <strong>error: Cannot call method 'transitionTo' of undefined</strong>. But if i click one of the action helpers in the view that points or links to a route, it throws the error.</p> <p>Any suggestions on how to resolve this will be greatly appreciated.</p> <pre><code> App = Ember.Application.create({ ready: function(){ App.router.transitionTo('root'); } }); App.stateFlag = Ember.Mixin.create({ stateFlag: function(name) { var state = App.get('router.currentState.name'); while (state.name === name) { state = state.get('parentState'); console.log('state'); //return true; } }.property('App.router.currentState') }); App.ApplicationController = Em.Controller.extend(); App.ApplicationView = Ember.View.extend({ templateName: 'application' }); App.HomeController = Em.ObjectController.extend(); App.HomeView = Em.View.extend({ templateName: 'home' }); App.LoginController = Em.ObjectController.extend(); App.LoginView = Ember.View.extend({ tagName: 'form', templateName: 'logging', }); App.SectionController = Em.ObjectController.extend(App.stateFlag, { stateFlag: 'sectionA', stateFlag: 'sectionB' }); App.SectionView = Ember.View.extend({ templateName: "sub_section_b_view" }); App.SectionA = Em.ObjectController.extend(); App.SectionAView = Ember.View.extend({ templateName: "section A" }); App.SectionB = Em.ObjectController.extend(); App.SectionBView = Ember.View.extend({ templateName: "section B" }); App.Router = Ember.Router.extend({ enableLogging: true, location: 'hash', root: Ember.Route.extend({ anotherWay: Ember.Router.transitionTo('root.logon.index'), showLogin: function(router, event) { router.transitionTo('root.logon.index'); }, doHome: function(router, event) { router.transitionTo('home'); }, doSections: function(router, event) { router.transitionTo('section.index'); }, home: Ember.Route.extend({ route: '/', connectOutlets: function(router, event) { router.get('applicationController').connectOutlet('home'); } }), logon: Ember.Route.extend({ route: '/login', enter: function(router) { console.log("The login sub-state was entered."); }, connectOutlets: function(router, context) { router.get('applicationController').connectOutlet('mine', 'login'); router.get('applicationController').connectOutlet('section'); }, index: Ember.Route.extend({ route: '/', connectOutlets: function(router) { router.get('loginController').connectOutlet('loga', 'login'); } }) }), section: Ember.Route.extend({ route: '/section', connectOutlets: function(router, event) { router.get('applicationController').connectOutlet('section'); }, index: Ember.Route.extend({ route: "/" }), doSectionA: function(router, event) { router.transitionTo('section.sectionA'); }, sectionA: Ember.Route.extend({ route: 'section A', connectOutlets: function(router, context) { router.get('sectionController').connectOutlet('sectionA'); } }), doSectionB: function(router, event) { router.transitionTo('section.sectionB'); }, sectionB: Ember.Router.extend({ route:'section B', connectOutlets: function(router, context) { router.get('sectionController').connectOutlet('sectionB'); } }) }) }) });​ </code></pre> <p><strong>The handlebar templates</strong></p> <pre><code> &lt;script type="text/x-handlebars" data-template-name="application"&gt; &lt;h1&gt;Hi samu&lt;/h1&gt; {{outlet loga}} {{outlet }} &lt;a href="#" {{action showLogin }}&gt; go to root.logon.index state&lt;/a&gt; &lt;br&gt; &lt;a href="#" {{action anotherWay}} &gt;it works to go to root longon index using this&lt;/a&gt; &lt;/script&gt; &lt;br&gt; &lt;script type='text/x-handlebars' data-template-name='home'&gt; &lt;/script&gt; &lt;br&gt; &lt;script type="text/x-handlebars" data-template-name="logging"&gt; {{view Ember.TextField placeholder="what" class="userInput" }} {{outlet loga}} &lt;br&gt; &lt;b&gt; Inserted from Login controller and view &lt;/b&gt; &lt;/script&gt; &lt;script type="text/x-handlebars" data-template-name="sub_section_b_view"&gt; &lt;b&gt;Inserted from the subsection controller and view &lt;/b&gt; &lt;/script&gt; &lt;script type='x-handlebars' data-template-name='section A' &gt; &lt;/script&gt; &lt;script type='x-handlebars' data-template-name='section B' &gt; &lt;/script&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload