Подтвердить что ты не робот

Как получить свойство родительского представления в Ember?

Это, вероятно, нелегко, но мне трудно найти способ доступа к свойствам родительских представлений:

App.ParentView = Ember.View.extend({
  foo: 'bar',

  child_view: Ember.View.extend({

    init: function(){
       // get the value of App.ParentView.foo
       //  ???
    }
  })

});
4b9b3361

Ответ 1

Чтобы получить представление: this.get('parentView')

Чтобы получить значение foo this.get('parentView.foo')

Ответ 2

В Ember до 1.0.pre вы также можете использовать метод getPath вместо цепей get() для более сжатого (и вообще безопасного) кода:

this.getPath("parentView.foo");

Что классно в Ember 1.0.pre, так это то, что метод get() теперь поддерживает пути, поэтому вы можете написать

this.get("parentView.foo");

Ответ 3

Том прав. Я также создал JS Fiddle, чтобы продемонстрировать это, а также проиллюстрировать специальное свойство contentView, которое может быть полезно в этом типе ситуации: http://jsfiddle.net/rSLQK/2/