我在服务器上使用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是未定义的(其他属性根据服务器响应具有它们应具有的值)。无论是否有引号(“选择”:“32483”)或不引用(“选择”:32483),无论如何都是未定义的。如果我将此属性定义为字符串,它可以工作,但我不喜欢将整数定义为字符串。
答案 0 :(得分:0)
这是一个评论,但我的代表不够好。我想,因为当值为字符串时你已经有了这个工作,这不是什么问题,但你不需要用大写字母定义DS吗?
答案 1 :(得分:0)
在这里阅读文档: http://emberjs.com/api/data/classes/DS.html#method_attr
默认情况下,属性按原样传递,但您可以 指定一个可选类型以使值自动转换。
所以对我来说,这意味着你不应该使用'number'
或'string'
作为selected
属性。
DS.Model.extend({
dummyFieldForErrors: DS.attr("string"),
selected: DS.attr(),
uacs: DS.hasMany("uac")
});