访问控制器中的模型属性 - Ember

卡姆扎

所以,我试图在控制器中访问我的模型属性。

控制器

dashobards: [
{ id: 12, name: 'test' },
{ id: 17, name: 'test2' },
];

路线中,我有名为仪表板的模型

return Ember.RSVP.hash({
dashboards: this.store.findAll('dashboard'),
}).then((hash) => {
  return Ember.RSVP.hash({
    dashboards: hash.dashboards
  });
}, self);

我想得到这样的控制器:

dashboards: [
{ id: 12, name: 'test' },
{ id: 17, name: 'test2' },
{ id: 17, name: 'test1' },
{ id: 20, name: 'test20' },
];

在控制器中,我试图像这样访问这个模型:

this.dashborads = this.get(model.dashobards)

它不起作用,有没有其他方法可以做到这一点?

余烬怪胎

另一个更新如何访问我们在 ember 数据模型属性中从服务器获取的复杂对象,

创建 twiddle来演示

使用 DS.attr() 定义属性,

export default Model.extend({
  permissions:DS.attr()
});

路由文件,

model(){
    return this.store.findAll('dashboard');
  }

您的服务器响应应该是这样的,

data: [{
        type: 'dashboard',
        id: 1,
        attributes: {
          permissions: {'name':'role1','desc':'description'}          
        }
      }]

hbs 文件,

{{#each model as |row| }}
 Name: {{row.permissions.name}} <br/>
 Desc: {{row.permissions.desc}} <br />
{{/each}}

更新:我仍然不确定要求,为了更好地理解,你的旋转应该最小化工作旋转......无论如何我会提供我的观察,

1.

model(params) {
    this.set('id', params.userID);
    const self = this;
    return Ember.RSVP.hash({
        dashboards: this.store.findAll('dashboard'),
        user: this.store.findRecord('user', params.userID)
    }).then((hash) => {
        return Ember.RSVP.hash({
            user: hash.user,
            dashboards: hash.dashboards
        });
    }, self);
}

上面的代码可以简单地写成

model(params) {
    this.set('id', params.userID);
    return Ember.RSVP.hash({
        dashboards: this.store.findAll('dashboard'),
        user: this.store.findRecord('user', params.userID)
    });
}
  1. 总是在 init 方法中初始化数组属性很好。参考https://guides.emberjs.com/v2.13.0/object-model/classes-and-instances/

  2. 要从数组中删除条目,请this.dashboard.pushObject({ 'identifier': '', 'role': '' });尝试此操作this.get('dashboard').pushObject({ 'identifier': '', 'role': '' });

如果可能,您可以使用 Ember.Object 代替普通对象

this.get('dashboard').pushObject(Ember.Object.create({ 'identifier': '', 'role': '' }));
  1. 用于删除条目。
    removeDashboard(i) { 
        let dashboard = Ember.get(this, 'dashboard'); 
        Ember.set(this, 'dashboard',dashboard.removeObject(dashboard[i])); 
    }

上面的代码可以这样写,因为i是一个索引

removeDashboard(i) {
    this.get('dashboard').removeAt(i)
}

只需return this.store.findAll('dashboard');在路由模型钩子中执行,并且不要覆盖setupController钩子,那么在 hbs 中您应该能够访问model将代表 RecordArray 的内容。您可以查看此答案以了解如何使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Ember 控制器中访问模型数据

来自分类Dev

控制器内部的Ember访问模型

来自分类Dev

Ember Data Transform中的访问控制器属性

来自分类Dev

在Ember中获取模型的控制器

来自分类Dev

如何从控制器正确访问Ember模型数据

来自分类Dev

Ember.js:控制器何时可以访问模型?

来自分类Dev

在Ember中从控制器访问模型的正确方法是什么

来自分类Dev

Ember.js:使用{{render}}帮助程序时,在“父”控制器中访问属性

来自分类Dev

Ember中控制器更改模型的事件?

来自分类Dev

Ember:在控制器中获取模型数据

来自分类Dev

Ember中控制器中的计算属性

来自分类Dev

从ember.js中的控制器检索计算的属性

来自分类Dev

如何设置Ember控制器属性

来自分类Dev

如何从控制器访问模型数据以在Ember的视图中进行渲染?

来自分类Dev

如何从控制器访问模型数据以在Ember的视图中进行渲染?

来自分类Dev

从控制器访问Ember数据存储/模型挂钩上的多个数据

来自分类Dev

计算与观察Ember中的控制器

来自分类Dev

Ember如何在刷新模型时重置控制器属性

来自分类Dev

在ember中,如何在该控制器中获取对模型的引用以进行保存

来自分类Dev

Ember.js从控制器调用模型的方法

来自分类Dev

从嵌套资源为Ember控制器设置模型

来自分类Dev

Ember.js从控制器调用模型的方法

来自分类Dev

从模型获取数据到控制器(Ember.js)

来自分类Dev

如何在Ember.js单元测试中为控制器设置模型数据

来自分类Dev

在不使用阵列控制器的情况下如何在Ember模型中实现排序?

来自分类Dev

设置多个控制器模型时,Ember.js在ApplicationRoute中返回诺言

来自分类Dev

将显示数据添加到控制器ember.js的模型中

来自分类Dev

在Ember中解析模型后,从路线触发对控制器的操作

来自分类Dev

如何在Ember.js中的控制器中访问动态段?

Related 相关文章

  1. 1

    如何在 Ember 控制器中访问模型数据

  2. 2

    控制器内部的Ember访问模型

  3. 3

    Ember Data Transform中的访问控制器属性

  4. 4

    在Ember中获取模型的控制器

  5. 5

    如何从控制器正确访问Ember模型数据

  6. 6

    Ember.js:控制器何时可以访问模型?

  7. 7

    在Ember中从控制器访问模型的正确方法是什么

  8. 8

    Ember.js:使用{{render}}帮助程序时,在“父”控制器中访问属性

  9. 9

    Ember中控制器更改模型的事件?

  10. 10

    Ember:在控制器中获取模型数据

  11. 11

    Ember中控制器中的计算属性

  12. 12

    从ember.js中的控制器检索计算的属性

  13. 13

    如何设置Ember控制器属性

  14. 14

    如何从控制器访问模型数据以在Ember的视图中进行渲染?

  15. 15

    如何从控制器访问模型数据以在Ember的视图中进行渲染?

  16. 16

    从控制器访问Ember数据存储/模型挂钩上的多个数据

  17. 17

    计算与观察Ember中的控制器

  18. 18

    Ember如何在刷新模型时重置控制器属性

  19. 19

    在ember中,如何在该控制器中获取对模型的引用以进行保存

  20. 20

    Ember.js从控制器调用模型的方法

  21. 21

    从嵌套资源为Ember控制器设置模型

  22. 22

    Ember.js从控制器调用模型的方法

  23. 23

    从模型获取数据到控制器(Ember.js)

  24. 24

    如何在Ember.js单元测试中为控制器设置模型数据

  25. 25

    在不使用阵列控制器的情况下如何在Ember模型中实现排序?

  26. 26

    设置多个控制器模型时,Ember.js在ApplicationRoute中返回诺言

  27. 27

    将显示数据添加到控制器ember.js的模型中

  28. 28

    在Ember中解析模型后,从路线触发对控制器的操作

  29. 29

    如何在Ember.js中的控制器中访问动态段?

热门标签

归档