【问题标题】:Ember route with quotes deprecation warning带有引号弃用警告的 Ember 路由
【发布时间】:2013-08-23 17:41:38
【问题描述】:

我最近升级到 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 路绑定一样。有关如何解决此问题的任何想法?

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

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

【问题讨论】:

    标签: ember.js


    【解决方案1】:

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

    【讨论】:

    • fwiw this soon-to-be-merged PR 可以将 this 用作 linkTo 参数并实现预期的绑定行为工作
    • @Peter 您的 jsbin 不起作用,请注意当您单击下一个按钮时,链接不会正确更新路径。
    • 确认 Peter 的 jsbin 不工作。不过这个确实:jsbin.com/atazuy/29/edit
    • @AlexanderWallaceMatchneer 你的更好,但它仍然有一个问题......它落后了......即当我第一次加载页面时链接是#,然后当我点击下一个按钮时 url是#/item/1(应该是#/item/2)如果我再次单击它,链接是#item/2,但应该是#/item/3 等等。
    • 我会让彼得更新,他可以接受并照顾我的孩子有一天或其他事情
    猜你喜欢
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多