没有后端API且将模型转换为JSON的Ember数据使用情况(Ember 2.5.0)

jones34bones

我正在使用没有外部数据存储的Ember v2.5.0。

使用createRecord方法在路由上创建记录后,无法在应用程序的其他部分(控制器或组件)中查询该记录。

我的理解是,我需要使用store.push在本地保存记录,以便控制器可以访问它。但是,store.push方法要求参数为json格式。

我可以取消模型,但是我想知道是否有使用Ember 2.5.0版将模型转换为json格式的快速方法?我还想知道我的使用store.push本地保留数据的假设是否是在没​​有外部后端的情况下使用Ember Data的推荐方式。

堆栈溢出时,还有其他关于“ Ember模型到json的引用”,但是它们已经过时了,我特别想知道我的方法/假设是否正确,如果不正确,可以选择什么。我对Ember非常陌生。

问题

//Route
import Ember from 'ember';

export default Ember.Route.extend({
    model() {
        let shape, square;

        square = this.store.createRecord('square');

        shape = this.store.createRecord('shape', {
            shared: 'shared-value',
            square: square
        });

        return shape;
    }
});

//Controller
import Ember from 'ember';

export default Ember.Controller.extend({
    actions: {
        someActionName() {
            console.log(this.store.peekRecord('shape', 1)); //undefined!
        }
    }
});

//Shape Model
import DS from 'ember-data';

export default DS.Model.extend({
    shared: DS.attr('string', { defaultValue: '' }),
    square: DS.belongsTo('square')
});

//Square Model
import DS from 'ember-data';

export default DS.Model.extend({
    sides: DS.attr('string', { defaultValue: '4' }),
    whereIbelong: DS.belongsTo('shape')
});

特鲁修斯

我认为使用不是store.push长期有效的方法,最好使用Ember Data期望savedestroyRecord方法。

您可以使用本地存储基础适配器创建适配器,或者仅返回在createRecord/updateRecord工作中传递的记录

尝试一下它,并找到最适合您的用例的适配器,它非常灵活。

附带一提,我发现store.push按预期工作的最佳方式是这样的:

var obj = {
    id: '1',
    name: "object name",
    // More object properties...
};
store.push(store.normalize('model-name', obj));

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将奇数索引转换为索引{0,1,2,3,4,5}?

来自分类Dev

python 将列表 [0, 1, 2, 3, 4, 5] 转换为 [0, 1, 2], [1,2,3], [2,3,4]

来自分类Dev

过滤器foo [2..n]的内存使用情况!0

来自分类Dev

将数组的索引0与1、2与3、4与5组合

来自分类Dev

将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

来自分类Dev

使用 Ember 2.x 从 Auth0/facebook JSON 响应中获取数据

来自分类Dev

将 GMT 0:00 转换为 GMT +5:30 sql

来自分类Dev

在R中将(0,1,0,0,1,1,1)转换为(0,0,0,1,0,1,2)

来自分类Dev

给定2个向量A和B将A的每个元素与B的每个元素连接起来因此,例如,如果A:0 1 2 B:3 4 5是(0 3; 1 4; 2 5)

来自分类Dev

是否有用于以规范(一般)形式绘制功能图的js库?例如:x ^ 2 + y ^ 2-5 = 0; x ^ 2-y ^ 2 + 2 = 0; 等等

来自分类Dev

使用Scala收集方法可帮助将[0,0,0,1,1,1,1,0,0,1,1]的列表转换为[3,4,2,2]

来自分类Dev

清除算法以生成类型为(0)到(0,1,2,3,4,5,6,7,8,9)的所有集合

来自分类Dev

使用powershell 2删除一行文本以及接下来的0至5行

来自分类Dev

DHCPD ip6,enp2s0没有子网6声明(2001:470:1f1a:5b3 :: 2)

来自分类Dev

找出游戏状态是否之前发生过,int [5] [5]具有3个不同的值,0 1 2

来自分类Dev

此代码正在打印具有0 0 0 0 0 5的数组,而不是预期的数组

来自分类Dev

如何使用 For 循环生成从 0,0 到 5,5 的坐标?

来自分类Dev

错误'shell ::: {52205fd8-5dfb-447d-801a-d0b52f2e83e1},该文件没有与程序关联的文件...'

来自分类Dev

为什么 int arr[]={0,3,2,4,5,6,7}; 给出错误和 int arr[7]={0,3,2,4,5,6,7}; 不是

来自分类Dev

我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

来自分类Dev

将 Angular 2 路由转换为 Angular 5

来自分类常见问题

使用反射覆盖2 + 2 = 5

来自分类Dev

h5py无法将元素0转换为hsize_t

来自分类Dev

在我的汇编程序中,我试图计算 (((((2^0 + 2^1) * 2^2) + 2^3) * 2^4) + 2^5) 的方程

来自分类Dev

如何使用正则表达式在lookhead中给出范围,例如^(?=(.*[az]){1,3})(?=.*[0-9]).{2,5}$

来自分类Dev

如何在没有输入掩码的情况下使用允许.5或.0的数字来验证子数字值?

来自分类Dev

值错误:无法为形状为“(5, 15, 2)”的张量“one_hot:0”提供形状 (5, 15) 的值

来自分类Dev

ASP.NET 5 MVC6 Angular 2(Beta 0)-重复承诺

来自分类Dev

访问冲突读取位置位置0x1D5C4C2F

Related 相关文章

  1. 1

    如何将奇数索引转换为索引{0,1,2,3,4,5}?

  2. 2

    python 将列表 [0, 1, 2, 3, 4, 5] 转换为 [0, 1, 2], [1,2,3], [2,3,4]

  3. 3

    过滤器foo [2..n]的内存使用情况!0

  4. 4

    将数组的索引0与1、2与3、4与5组合

  5. 5

    将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

  6. 6

    使用 Ember 2.x 从 Auth0/facebook JSON 响应中获取数据

  7. 7

    将 GMT 0:00 转换为 GMT +5:30 sql

  8. 8

    在R中将(0,1,0,0,1,1,1)转换为(0,0,0,1,0,1,2)

  9. 9

    给定2个向量A和B将A的每个元素与B的每个元素连接起来因此,例如,如果A:0 1 2 B:3 4 5是(0 3; 1 4; 2 5)

  10. 10

    是否有用于以规范(一般)形式绘制功能图的js库?例如:x ^ 2 + y ^ 2-5 = 0; x ^ 2-y ^ 2 + 2 = 0; 等等

  11. 11

    使用Scala收集方法可帮助将[0,0,0,1,1,1,1,0,0,1,1]的列表转换为[3,4,2,2]

  12. 12

    清除算法以生成类型为(0)到(0,1,2,3,4,5,6,7,8,9)的所有集合

  13. 13

    使用powershell 2删除一行文本以及接下来的0至5行

  14. 14

    DHCPD ip6,enp2s0没有子网6声明(2001:470:1f1a:5b3 :: 2)

  15. 15

    找出游戏状态是否之前发生过,int [5] [5]具有3个不同的值,0 1 2

  16. 16

    此代码正在打印具有0 0 0 0 0 5的数组,而不是预期的数组

  17. 17

    如何使用 For 循环生成从 0,0 到 5,5 的坐标?

  18. 18

    错误'shell ::: {52205fd8-5dfb-447d-801a-d0b52f2e83e1},该文件没有与程序关联的文件...'

  19. 19

    为什么 int arr[]={0,3,2,4,5,6,7}; 给出错误和 int arr[7]={0,3,2,4,5,6,7}; 不是

  20. 20

    我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

  21. 21

    将 Angular 2 路由转换为 Angular 5

  22. 22

    使用反射覆盖2 + 2 = 5

  23. 23

    h5py无法将元素0转换为hsize_t

  24. 24

    在我的汇编程序中,我试图计算 (((((2^0 + 2^1) * 2^2) + 2^3) * 2^4) + 2^5) 的方程

  25. 25

    如何使用正则表达式在lookhead中给出范围,例如^(?=(.*[az]){1,3})(?=.*[0-9]).{2,5}$

  26. 26

    如何在没有输入掩码的情况下使用允许.5或.0的数字来验证子数字值?

  27. 27

    值错误:无法为形状为“(5, 15, 2)”的张量“one_hot:0”提供形状 (5, 15) 的值

  28. 28

    ASP.NET 5 MVC6 Angular 2(Beta 0)-重复承诺

  29. 29

    访问冲突读取位置位置0x1D5C4C2F

热门标签

归档