2013-03-05 4 views
1

У меня есть путаница Ember JS. Прежде всего, я должен признать, что я немного новичок из Ember, поэтому извиняюсь, если это очевидно.Ember JS - Справочный вид внутри linkTo

У меня есть следующий шаблон:

<script type="text/x-handlebars" data-template-name="threadListItem"> 
    {{#linkTo show thread.receiverLogin}} 
     <h4>{{thread.receiver.login}}</h4> 
     <span>{{view.prettyTime}}</span> 
    {{/linkTo}} 
</script> 

Там в основном помощник linkTo с некоторыми элементами внутри него.

Странная вещь {{view.prettyTime}} ничего не отображает, когда она находится внутри linkTo.

Однако, если я перемещаю диапазон за пределами ссылки, он находит переменную вида ok, и она работает.

В любом случае, чтобы получить доступ к объекту view внутри ссылкиTo?

ответ

1

Кристофер является правильным, что вы можете получить доступ к свойству prettyTime с:

{{view.parentView.prettyTime}} 

Поскольку вы новичок в уголек, это может быть, стоит отметить, что в большинстве случаев лучше избегать доступа свойств вид. Вместо этого рассмотрите возможность добавления свойства prettyTime для вашего контроллера. Контроллер будет контекст по умолчанию для суб-взглядов, как один созданный помощником linkTo, так что вы сможете получить к нему доступ только с

{{prettyTime}} 
0

linkTo создает свой собственный вид, поэтому представление, к которому вы хотите получить доступ, представляет собой родительский вид представления.

{{view.parentView.prettyTime}} 
+2

Поскольку вы новичок в уголек, это может быть, стоит отметить, что в большинстве случаев лучше избегать доступа к свойствам представления. вместо этого подумайте о добавлении свойства 'prettyTime' в ваш контроллер. Контроллер будет контекстом по умолчанию для под-представлений, подобным тому, который создается помощником linkTo, поэтому вы сможете получить к нему доступ только с помощью '{{prettyTime}}'. –

+1

Майкл, вы могли бы добавить это как второй ответ. Это, безусловно, более «полный и правильный» ответ, так как мой просто решает вопрос о том, почему view.prettyTime пуст. –

+0

ОК, добавлен второй ответ. благодаря! –