EmberJS: заполнение общих представлений с сервера

Я новичок в использовании EmberJS и пытаюсь поиграть с ним. Я работаю с Ember AppKit.

У меня есть страница localhost:8000/#/home. В моем глобальном application.hbs у меня есть несколько представлений: заголовок, навигация, нижний колонтитул и {{outlet}} посередине для загрузки текущей страницы.

application.hbs:

{{render 'header'}}
{{render 'navigation'}}
{{outlet}}
{{render 'footer'}}

Я нашел способ вызвать сервер для заполнения моей текущей страницы home.hbs моделью, маршрутом и адаптером.

маршруты/home.js:

export default Ember.Route.extend({
    model: function () {
        return this.store.find('home');
    }
});

адаптеры/home.js:

export default DS.RESTAdapter.extend({
    host: 'http://localhost:8000/api/home'
});

модели/home.js

var attr = DS.attr,

export default DS.Model.extend({
   //My model
});

(выше приведен только пример)

Но теперь я ищу способ заполнить содержимое моих общих представлений с сервера. Они не являются страницами, поэтому им не нужен маршрут. Я не хочу получать доступ к localhost:8000/#/header

Хотя мой контент доступен через API с помощью localhost:8000/api/content/header. У вас есть какие-либо идеи о подходе, которому я должен следовать, чтобы сделать что-то подобное? Я думал сделать вызов непосредственно внутри контроллера, используя $.getJSON, но я не уверен, что это лучший способ сделать...

Спасибо


person alexmngn    schedule 02.05.2014    source источник


Ответы (1)


Одним из подходов может быть загрузка содержимого в контроллер заголовка и т. д. в хук setupController домашнего маршрута. Я полагаю, вы также можете загрузить содержимое в хук HeaderController#init.

person Community    schedule 02.05.2014
comment
Тогда использовать что-то вроде $.getJSON? - person alexmngn; 02.05.2014