Reputation: 1
I try to use routing in Ember.js, but it does not seem to be working properly.
The full code is here on Github, but a portion is below:
define(['ember', 'app/controllers/controller', 'app/views/view'], function (ember, controller, view) {
var Router = Ember.Router.extend({
root: Ember.State.extend({
index: Ember.State.extend({
// location: Ember.Location.create({style: 'hash'}),
location: 'hash',
enableLogging: true,
route: '/',
redirectsTo: 'news.index'
}),
news: Ember.State.extend({
route: '/news',
// showPost : Ember.State.transitionTo('post'),
test: Ember.ViewState.extend({
route: '/test',
view: view.appendTo('body')
}),
index: Ember.ViewState.extend({
route: '/',
view: null
})
})
})
});
var router = Router.create({});
return router;
});
Upvotes: 0
Views: 1432
Reputation: 6309
I think you need to change your code to this:
define(['ember', 'app/controllers/controller', 'app/views/view'], function (ember, controller, view) {
var Router = Ember.Router.extend({
// These are properties of Ember.Router and should be defined here
location: 'hash',
enableLogging: true,
root: Ember.State.extend({
index: Ember.State.extend({
route: '/',
redirectsTo: 'news.index'
}),
news: Ember.State.extend({
route: '/news',
// showPost : Ember.State.transitionTo('post'),
test: Ember.ViewState.extend({
route: '/test',
view: view.appendTo('body')
}),
index: Ember.ViewState.extend({
route: '/',
view: null
})
})
})
});
var router = Router.create({});
return router;
});
Let me know if that works.
Update
Actually you should not be using ViewState either. It's being depreciated. Follow the guide http://emberjs.com/guides/outlets/.
Upvotes: 4