emberjs newbie - функция карты не определена для маршрутизатора
Я только начинаю с emberjs. Я создаю простую страницу index.html с двумя ссылками вверху: About и Posts. Это соответствует стандартному примеру на домашней странице emberjs. Я получаю ошибку в браузере
"Uncaught TypeError: Невозможно вызвать метод 'map' of undefined"
Так что это означает, что мой маршрутизатор не определен. Это почему?
Вот код app.js:
var App = Ember.Application.create();
App.router.map(function(){
});
Поэтому я попытался определить это...
var App = Ember.Application.create();
App.Router = Ember.Router.extend({
enableLogging: true,
location: 'hash'
});
App.Router.map(function(){
});
Я все еще получаю ошибку. Я сбит с толку:(.
3 ответа
Убедитесь, что вы используете последнюю версию Ember (1.0.0-RC.2) с http://emberjs.com/.
Приведенный вами пример - маршрутизатор старого стиля, который больше не используется. Новый стиль объясняется в этом руководстве и определяется следующим образом:
App.Router.map(function() {
this.route("about", { path: "/about" });
this.route("favorites", { path: "/favs" });
});
Ресурс не является конечной точкой. Попробуйте следующее:
App.Router.map(function() {
this.resource('about', function() {
});
});
Таким образом, я столкнулся с другим вопросом о stackru. http://goo.gl/JVEs9. Я получил версию ember (1.0.0-pre.2) по ссылке и переписал код следующим образом:
var App = Ember.Application.create();
App.Router.map(function(match){
match('/').to('index');
match('about').to('about');
});
Это похоже на работу. Я до сих пор не могу получить:
var App = Ember.Application.create();
App.Router.map(function(){
this.resource('about');
});
Я получаю ошибку
Uncaught TypeError: У объекта # нет метода 'resource'