带有报价弃用警告的灰色路线

时间:2013-08-23 17:41:38

标签: ember.js

我最近升级到了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&amp; page.tab2在引号中,但是我的链接无法正常工作,就好像打破了双向绑定一样。关于如何解决这个问题的任何想法?

更新 添加了一个JSBin示例: 请注意,当您单击“下一步”按钮时,即使名称字段确实如此,链接URL也不会更新为新项目。即,单击下一个按钮,即使它应该是/ item / 2

,网址仍将保留/ item / 1

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

1 个答案:

答案 0 :(得分:2)

该问题与您使用引用无关。您遇到的问题是您的内部{{linkTo}}与您的内部this不匹配。在您的示例中,您将在外部上下文中为{{linkTo}}提供第二个this参数,但不在内部上下文中。在这种情况下,{{1}}是控制器,而不是模型,它会导致您出现问题。有关正常工作的版本,请参阅http://jsbin.com/atazuy/29