我最近升级到了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答案 0 :(得分:2)
该问题与您使用引用无关。您遇到的问题是您的内部{{linkTo}}
与您的内部this
不匹配。在您的示例中,您将在外部上下文中为{{linkTo}}
提供第二个this
参数,但不在内部上下文中。在这种情况下,{{1}}是控制器,而不是模型,它会导致您出现问题。有关正常工作的版本,请参阅http://jsbin.com/atazuy/29。