2013-08-23 2 views
0

Недавно я обновился до Ember RC7. У меня есть несколько вкладок начальной загрузки, которые отображаются на некоторых дочерних маршрутов с использованием «linkTo» следующим образом:Эмбер-маршрут с предупреждением об отказе от кавычек

{{#linkTo page.tab1 this href=false tagName=li}}{{#linkTo page.tab1}}tab 1{{/linkTo}}{{/linkTo}} 
{{#linkTo page.tab2 this href=false tagName=li}}{{#linkTo page.tab2}}tab 2{{/linkTo}}{{/linkTo}} 

Это работало без проблем до RC7. Теперь я получаю следующее предупреждение:

DEBUG: ------------------------------- ember.js:364 
DEBUG: Ember.VERSION : 1.0.0-rc.7 ember.js:364 
DEBUG: Handlebars.VERSION : 1.0.0 ember.js:364 
DEBUG: jQuery.VERSION : 1.9.1 ember.js:364 
DEBUG: ------------------------------- ember.js:364 
render combined-scripts.js:995 
DEPRECATION: You provided a quoteless destination route parameter of page.tab1 to the linkTo helper. Soon, this will perform a property lookup, rather than be treated as a string. To get rid of this warning, wrap form.index in quotes. To opt in to this new behavior, set ENV.HELPER_PARAM_LOOKUPS = true 
     at null.<anonymous> (http://localhost:9001/bower_components/ember/ember.js:28036:15) 
     at Object.anonymous (http://localhost:9001/scripts/compiled-templates.js:225:72) 
     at Handlebars.VM.template (http://localhost:9001/bower_components/handlebars/handlebars.js:2212:33) 
     at Ember.View.Ember.CoreView.extend.render (http://localhost:9001/bower_components/ember/ember.js:16826:16) 
     at Ember.CoreView.Ember.Object.extend._renderToBuffer (http://localhost:9001/bower_components/ember/ember.js:15767:10) 
     at Ember.View.Ember.CoreView.extend._renderToBuffer (http://localhost:9001/bower_components/ember/ember.js:17406:23) 
     at superWrapper [as _renderToBuffer] (http://localhost:9001/bower_components/ember/ember.js:1082:16) 
     at null.<anonymous> (http://localhost:9001/bower_components/ember/ember.js:15748:19) 
     at Object.Ember.Instrumentation.instrument (http://localhost:9001/bower_components/ember/ember.js:1465:20) 

Я попытался положить page.tab1 & page.tab2 в кавычках, но тогда мои ссылки не работают должным образом, это как будто что ломает 2 пути связывания. Любые мысли о том, как это исправить?

UPDATE добавлен пример JSBin: Обратите внимание, что, как вы нажмете на кнопку «Далее» по ссылке URLs не обновляются до нового элемента, даже если имя поля делает. т.е. нажмите на следующую кнопку и URL останется/элемент/1, даже если он должен быть/элемент/2

http://jsbin.com/atazuy/22/edit

ответ

2

вопрос не имеет никакого отношения к использованию кавычек. Проблема, с которой вы сталкиваетесь, заключается в том, что ваши внутренние {{linkTo}} s не соответствуют вашим внешним. В вашем примере вы предоставляете второй параметр this во внешнем контексте {{linkTo}}, но не во внутреннем. В этом случае является контроллером, а не моделью, которая вызывает у вас проблемы. См. http://jsbin.com/atazuy/29 для рабочей версии.

+1

fwiw [this soon-to-be-merged PR] (https://github.com/emberjs/ember.js/pull/3193) позволит просто использовать 'this' как параметр' linkTo' и ожидали работы по поведению привязки –

+0

@Peter Ваш jsbin не работает, обратите внимание, как при нажатии следующей кнопки ссылка не обновляет путь правильно. – Ben

+1

Подтвердите, что jsbin Питера не работает. Это один из них: http://jsbin.com/atazuy/29/edit –

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