В примере doc подразумевается, что context
– это instance
View
без controller
. Но я не могу попробовать это с последней версией, проверьте эту ссылку jsfiddle.
Emberjs: какой контекст использует classBinding для помощника {{#view}}?
Ответы (1)
Вот как я бы это сделал: http://jsfiddle.net/arasbm/ACqjt/1/< /а>
Просто чтобы уточнить контекст представления, по умолчанию установлен его контроллер. Если вы хотите получить доступ к свойству представления, такому как flag
, внутри шаблона представления, вы должны использовать view.flag
для ссылки на него.
Я предпочитаю настраивать привязки имени класса представления внутри самого представления:
classNameBindings: ['flag:A:B']
Вы также должны иметь возможность выполнять привязку в шаблоне, но я не уверен, почему это не работает в вашей скрипке. Не используйте кавычки, когда вы определяете свое представление, вместо этого используйте:
{{view App.CustomDiv}}
or
{{#view App.CustomDiv}}{{/view}}
если вы не хотите использовать отдельный шаблон для вашего представления. Мне нравится настраивать шаблон для каждого представления, которое у меня есть. Я помещаю их в отдельные файлы, например custom.handlebars
, но для демонстрации в jsFiddle вы можете использовать свойство data-template-name
, чтобы назвать шаблон, который вы хотите использовать, а затем ссылаться на него внутри определения представления, используя templateName
. Надеюсь, это поможет вам двигаться вперед.
classNameBindings
внутри View
, но я думаю, что это может быть более гибким, чем определение привязки в шаблонах.
- person LiZn; 26.12.2012