2013-11-29 5 views
1

Когда вы смотрите на много более старого (Pre 1.0) Ember-кода, похоже, что хелпер Handlebars {{#linkTo}} (см., Например, this SO post с января 2013 года). Теперь, как представляется, метод {{#link-to}}, основанный на official Ember docs.Ember Handlebars link-to vs linkTo

Я не могу найти упоминания о том, когда метод помощника изменился. Но я просто попробовал как {{#link-to}}, так и {{#linkTo}} в приложении с использованием Ember 1.2 и Handelbars 1.1.2, и оба работают как ожидалось.

Два вопроса. Когда это произошло? Я не могу найти упоминания об этом в Handlebars changelogs или что-нибудь, что упоминает об этом. И 2, я полагаю, что с {{#link-to}} это то, что в настоящее время находится в документах, это новый способ. Но уведомления об отступлении нет. Есть ли план, который больше не поддерживает {{#linkTo}}? Если да, то когда? Какая версия Ember/Handlebars? За бонусные очки, ссылку на статью, в которой говорится об этом обосновании этого решения.

ответ

6

Вы не нашли ничего о пользователе link-to в журнале изменений для Handlebars, так как он является вспомогательным классом для Ember и не включен в основную библиотеку Handlebars.

В соответствии с blog post for RC8 старый синтаксис был «мягким устаревшим». Старый метод отмечен @deprecated in the source, но не регистрирует ничего, даже если он используется (даже не с установкой Ember.ENV.RAISE_ON_DEPRECATION).

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

Ember.Handlebars.registerHelper('linkTo', Ember.Handlebars.helpers['link-to']); 

Поскольку они планируют использовать semantic versioning (as said in the post for the 1.0 release) для своих релизов они не могут реально удалить этот помощник, пока они не попали 2.0, хотя.

+0

Жаль, что я так поздно принял это! – nickcoxdotme

+0

Хорошо, я рад, что ты в конце концов вспомнил! –

2

linkTo и bindAttr заменяются на link-to и bind-attr в this запрос на pull. Использовалась дефисная форма, так как она близка к синтаксису пользовательских элементов web components. Поэтому используйте дефисную форму, если она доступна в вашей текущей версии.

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