繁体   English   中英

灰烬数据:DS.attr(“ number”)应该如何工作?

[英]Ember-data: How DS.attr(“number”) is supposed to work?

我正在使用DS.RESTAdapter,服务器上的php。 我有一个模型UacList:

DS.Model.extend({
    dummyFieldForErrors: DS.attr("string"),
    selected: DS.attr("number"),
    uacs: DS.hasMany("uac")
});

Ember发送请求GET / rest / uacLists / 1。 服务器响应为:

{
    "uacList":{
        "id":1,
        "selected":32483,
        "uacs":[33618,9678,...,33656]
    },
    "uacs": [...]
}

但是Ember Inspector告诉我,selected是未定义的(其他属性具有根据服务器响应应具有的值)。 无论是否使用引号(“ selected”:“ 32483”)或不使用引号(“ selected”:32483),它始终是未定义的。 如果我将此属性定义为字符串,则可以使用,但是我不喜欢将整数定义为字符串。

这只是一个评论,但我的代表还不够好。 我想,既然在值是字符串的情况下已经可以正常工作了,那么这没什么问题,但是您是否不需要以大写形式定义DS?

只需在这里阅读文档: http : //emberjs.com/api/data/classes/DS.html#method_attr

默认情况下,属性按原样传递,但是您可以指定可选类型以自动转换值。

因此,对我而言,这意味着您不应为selected属性使用'number''string'

DS.Model.extend({
    dummyFieldForErrors: DS.attr("string"),
    selected: DS.attr(),
    uacs: DS.hasMany("uac")
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM