【问题标题】:Ember model proxying deprecation confusionEmber 模型代理弃用混淆
【发布时间】:2015-03-25 14:18:30
【问题描述】:

我正在尝试处理 Ember 1.11 中关于模板中对象代理的弃用消息,但遇到了困惑。

例如,在编辑路线上,我在模型挂钩中加载了一条记录。然后,使用 setupController 挂钩,我正在设置其他集合变量以启用选择菜单。这引发了关于代理的弃用通知;我试图通过使用 Ember.RSVP.hash 作为模型设置模型挂钩中的所有数据来解决这些问题。

我现在有一个问题,如果我直接加载页面,模型是正确的,但如果我从链接访问,模型是不正确的。我找到了类似问题的信息,导致我尝试使用 setupController 来设置模型,基于 this.get('model'),希望能从路由的模型函数中获取模型,但这也不起作用。正在调用 setupController 操作,但由于某种原因它似乎没有影响模板,这是我遇到障碍的地方。

show.hbs:

{{link-to model}}

edit.hbs –– 如果直接加载页面,则显示数据,如果从显示链接访问,则为空

{{model.foo.name}}

编辑路线:

renderTemplate: function (controller,model) {
    this.render('foo/form');
},

model: function (project) {
    return Ember.RSVP.hash({
        foo: this.store.find("foo", foo.foo_id),
        bar: this.store.find('bar')
    });
}

也试过这个来编辑路线:

renderTemplate: function (controller,model) {
    this.render('foo/form');
},

model: function (project) {
    return Ember.RSVP.hash({
        foo: this.store.find("foo", foo.foo_id),
        bar: this.store.find('bar')
    });
},

setupController: function (controller, model) {
  controller.set('model', this.get('model');
}

【问题讨论】:

    标签: ember.js handlebars.js


    【解决方案1】:

    我找到了一种简单的解决方法,不确定是否有更好的“Ember 方法”——我看到因为 link-to 正在传递模型,所以假设不需要模型钩子;传递 model.id 而不是 model 作为链接参数确实会导致调用模型挂钩。

    {{link-to model.id}}
    

    代替:

    {{link-to model}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 2015-11-29
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多