2013-08-23 18 views
0

我最近升級到Ember RC7。我有一些引導標籤,其映射到下面的方式使用「linkTo」一些孩子的路線:帶引號貶低警告的Ember路線

{{#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例如: 注意,當您點擊「下一步」按鈕鏈接的URL不更新到新的項目,雖然名稱字段一樣。即點擊下一步按鈕和URL仍將/項/ 1,即使它應該是/項/ 2

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

回答

2

問題是無關您使用引用的。你遇到的問題是你的內在{{linkTo}} s不符合你的外在。在你的例子中,你正在外部環境中提供第二個this參數給{{linkTo}},但不在內部環境中。在這種情況下,this是控制器,而不是模型,這會導致您遇到問題。有關工作版本,請參閱http://jsbin.com/atazuy/29

+1

fwiw [這個即將合併的PR](https://github.com/emberjs/ember.js/pull/3193)將使得可以使用'this'作爲'linkTo'參數並有預期的綁定行爲工作 –

+0

@Peter您的jsbin不起作用,請注意,當您單擊下一個按鈕時,鏈接不會正確更新路徑。 – Ben

+1

確認Peter的jsbin無法正常工作。這一個雖然:http://jsbin.com/atazuy/29/edit –