2013-04-14 3 views
3

Я новичок в ember, и я действительно борется с тем, как выполнить то, что должно быть довольно простой задачей.Очень путают с перенаправлением ember и/или renderTemplate

Я пытаюсь превратить свое резюме в приложение ember. Как часть моего резюме, у меня есть несколько ссылок.

Когда кто-то ударяет ссылку «ссылки» в навигации, мне бы хотелось, чтобы она показывала ссылки на каждую ссылку, а также первую ссылку, отображаемую в качестве дочернего элемента для ссылок.

По-видимому, мои варианты здесь либо перенаправляются на «ссылки/1» (не идеально), либо отображают шаблон «reference».

Я бы построил JSFiddle для этого, но jsfiddle, кажется, сломан, поскольку я не могу загрузить или просмотреть что-нибудь уже там.

У меня есть работа с регулярными маршрутами, где я загружаю ссылки, показывает ссылки, и если я нажимаю на ссылку или загружаю страницу напрямую с помощью ссылки «ссылки/2», он показывает правильный контент.

Если я обращаю с помощью

 
App.ReferencesRoute = Ember.Route.extend({ 
    model: function(){ 
     return App.References.find(); 
    }, 
    redirect: function(){ 
     this.transitionTo('reference',App.References.find(1)); 
    } 

}); 

Я получаю URL перенаправления правильно, но я не получаю ссылки на ссылки. Я получаю шаблон «reference», но модель не проходит. Я пробовал использовать this.modelFor('references').get('firstObject'), но это тоже ничего не возвращает, поэтому я использую find(1).

Если я пытаюсь сделать это с помощью шаблона визуализации и управления, как этот

 
App.ReferencesRoute = Ember.Route.extend({ 
    model: function(){ 
     return App.References.find(); 
    }, 
    renderTemplate: function(){ 
     this.render(); 
     this.render('reference',{into: 'references',controller:'reference'}); 

    } 
}); 

App.ReferenceController = Ember.ObjectController.extend({ 
    letter: 'test letter' 
}); 

Я получаю ссылки и сообщение «тест письмо», но я бегу в несколько других проблем.

1) Я не могу понять, как передать ссылку контроллер первую модель так, что она на самом деле возвращает то же самое, как если бы пользователь был на «/ ссылки/1» URL

2) Если я нажмите ссылки, выбранная буква не отображается, а это означает, что ссылки не работают, если я использую контроллер.

3) Я хочу, чтобы первая ссылка была активной, так как это уже появившаяся буква, но это небольшая деталь по сравнению с другими проблемами.

Неужели я об этом совершенно не так? Есть что-то большое, что мне не хватает?

ответ

1

для прохождения модели через редирект я использовать что-то вроде этого:

App.ReferencesIndexRoute = Ember.Route.extend({ 
    model : function(){ 
     return App.References.find(); 
    }, 
    redirect : function(){ 
     var model = this.controllerFor('references').get('model'); 
     this.transitionTo('reference', model); 
    } 
}); 
+0

это только у меня часть пути, но никто не отвечает. Наверное, мне придется помещать представления в отдельные точки и ссылаться на них в js. Я предпочел бы вложенный. – pedalpete

+0

В соответствии с документами Ember, перенаправление передается моделью внутри, поэтому вам не нужно делать эту строку.controllerFor(). Однако я не мог заставить это работать – netpoetica

Смежные вопросы