ember.js, возможно ли получить доступ к шаблону из контроллера?

0

Я действительно новичок в emberjs, но я действительно хочу узнать больше об этом. Я создаю webapp с ember.

Итак, вопрос заключается в следующем. У меня есть страница (пользователи), которая должна отображать всех пользователей объектов, определенных в моделях /users.js. В то время как iam загружает объект пользователя из моего остального api, я хочу обработать diplay. (Я использую jquery blockui) в пользовательском блоке (div id = users-id). Я не знаю, могу ли я сделать это на userRoute. или я должен положить его в другое место?

    ==my users.hbs
<div id="users-id" class="jumbotron">
    <ul class="users-listing">
        {{#each user in model}}
        <li>{{user.name}} - {{user.email}}</li>
        {{/each}}
    </ul>
</div>

    ==usersRoute.js
        App.UsersRoute = Ember.Route.extend({
        setupController: function(controller){
      $('#users-id').block({ 
         message: 'processing...'});
      $.getJSON('.../users').then(function(data){
         Ember.run(function() {
            controller.set('model', data.body);
         });              
      });
      $('#users-id').unblock();
   }  
    });

    ==usersController.js
    App.UsersController = Ember.ArrayController.extend({
       sortProperties: ['name'],
       sortAscending: true // false = descending
    });

    ==user.js (model)
    App.User = DS.Model.extend({
        name         : DS.attr(),
        email        : DS.attr()
    });

    ==store
    App.ApplicationAdapter = DS.FixtureAdapter;
    App.store = DS.Store.extend()

    ==router
    App.Router.map(function(){
        this.resource('users', function(){
            this.resource('user', { path:'/:user_id' }, function(){
                this.route('edit');
            });
            this.route('create');
        });
    });

Я не знаю, возможно ли это сделать. Спасибо.

Теги:
ember.js

1 ответ

0

вы, вероятно, будете заинтересованы в 1 из 2 решений.

  1. Новые маршруты загрузки: https://gist.github.com/machty/6944577 (http://discuss.emberjs.com/t/proposal-nested-loading-routes/2895)
  2. Глобальный элемент div загрузки, который живет за пределами вашего приложения ember, который вы можете манипулировать на этапах model/setupController

Проблема с вашим текущим подходом заключается в том, что шаблон для этого маршрута не вводится до тех пор, пока не будет разрешена модель /setupController

Ещё вопросы

Сообщество Overcoder
Наверх
Меню