2013-11-27 3 views
0

У меня есть мои настройки маршрута с моделями от FireBase:Получить свойства модели с точкой зрения Ember

App.ApplicationRoute = Ember.Route.extend({ 
    model: function() { 
    return EmberFire.Array.create({ 
     ref: new Firebase("https://some-database.firebaseio.com/shape") 
    }); 
    }, 
    setupController: function(controller, model) { 
    controller.set('model', model); 
    } 
}); 

В шаблоне я отобразить каждый объект массива в пределах вида с #each:

{#each controller}} 
    {{#view App.ColorView}} 
    <div>{{color}}</div> 
    {{/view}} 
{{/each}} 

И с точки зрения мне нравится действие нажмите, чтобы удалить определенный цвет:

App.ColorView = Ember.View.extend({ 
     click: function() { 
      var theColor = this.get('content'); 
     console.log(theColor); 
     } 
    }); 

в настоящее время список цветов показать ИНТ он посмотреть, но Я получаю «undefined», когда пытаюсь получить доступ к свойству модели, принадлежит этому объекту. Есть ли дополнительные настройки, которые мне нужно сделать?

ответ

0

Вы можете передать с помощью contentBinding

{#each controller}} 
    {{#view App.ColorView contentBinding=this}} 
    <div>{{color}}</div> 
    {{/view}} 
{{/each}} 
+0

Спасибо за ваш ответ. После связывания содержимого и вызова var item = this.getProperties ('color'); console.log (item); Я получил Object {color: undefined}. – Poyi

+0

вам нужно использовать 'this.get ('content.color')' внутри вашего представления. Я думаю, что this.getProperties ('color') пытается извлечь из вашего представления, но у вас нет цветов, а только контента. –

+0

Ах получилось. Большое спасибо! Похоже, что когда я устанавливаю новый цвет, меня изменяет вид, но модель не сохраняется, знаете ли вы, что является правильным способом обновления свойства? – Poyi