2013-06-29 8 views
1

Я экспериментирую с интеграцией Ember.Data в свое приложение, а также хотел узнать, как правильно использовать ArrayController. К сожалению, я даже не обошел простой привязку данных на контроллере.Ember.js ArrayController не привязка к правильному контроллеру?

Я просто не могу понять, где я пошел не так, поэтому я ожидаю, чтобы кто-то в состоянии указать: Эй, ты написал .extend вместо .create

Я пытаюсь что-то довольно подобное тому, что Discouse делает в их AdminSiteSettings:

контроллер в вопросе:

App.UsersController = Ember.ArrayController.extend({ 
    foo: 'bar' 
}); 

маршрут:

App.UsersRoute = Ember.Route.extend({ 
    model: function() { 
     var users = App.User.find(); 
     return users; 
    }, 
    setupController: function (controller, model) { 
     controller.set('model', model); 
     console.log(controller.get('foo')); // this works correctly => bar 
    } 
}); 

Единственная проблема: Шаблон визуализируется, но я не могу связать с foo собственности:

<script type="text/x-handlebars" data-template=name="users"> 
    We render the correct template 
    {{foo}} 
</script> 

Единственная проблема заключается в следующем: Шаблон никогда не делает «бар». Это просто пусто.

Теперь я нашел что-то подобное в дискурсе, где у них есть текстовое поле, обязаны filter: https://github.com/discourse/discourse/blob/master/app/assets/javascripts/admin/controllers/admin_site_settings_controller.js

Я не могу понять, почему моя собственность контроллер не отображается, (да и я на самом деле пытается получить Ember.data работать, но так как это легко может быть воспроизведена без него я решил довольствоваться простой foo: bar собственности :(

версии используется:

  • ember.js: v1.0.0-rc.4-23-gbfd3023
  • Рули: 1.0.0-rc.4
  • Ember.data: 13

Все указатели приветствуются. Благодаря!

+1

У вас есть опечатка в теге сценария шаблона, это должно быть 'data-template-name'. Отображает ли текст текстовую часть шаблона? Включение примера в jsbin, помогло бы с отладкой. –

+0

Да, он действительно отображает текст, но, возможно, это связано с некоторой причудой в рендерере Chrome. Я исправлю это и попытаюсь поместить его в jsbin. – Tigraine

+0

Верьте или нет, опечатка вызывала это. Как-то Chrome удалось отобразить текст в шаблоне на экране, но привязки Ember явно не удались. Не могли бы вы добавить его в качестве ответа, чтобы я мог его принять? – Tigraine

ответ

2

Я не знаю точно, где ваше приложение терпит неудачу, но я попытался воссоздать ваш прецедент, и в этом примере jsbin он работает правильно, посмотрите.

Надеюсь, это поможет.

+0

Спасибо за вашу помощь и усилия! Даршан был на что-то, по какой-то странной причине опечатка в Markup заставила текст в шаблоне появиться на экране, но привязки не сработали. Ну, я был уверен, что это было что-то безумно глупо и просто, что заставило меня споткнуться :) – Tigraine

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