【发布时间】:2017-01-18 07:09:21
【问题描述】:
我有一个使用合金模型创建的 Titanium/Appcelerator 应用程序,它使用 Backbone.js。每个模型都有一个文本字段,我想将其解释为数字。到目前为止,我一直在获取该属性并在每次需要使用它时使用 parseInt() 对其进行转换。
有没有办法在我每次访问该属性时自动将该属性解释为一个数字?也许某种自动转换?我想避免更改数据库中字段的类型而不得不进行某种迁移。
这是我的模型的精简示例。属性date 作为字符串保存到数据库中。但因为它是 UTC 时间戳,所以我想始终将其解释为数字。
exports.definition = {
config: {
columns: {
"name": "text",
"date": "text"
},
adapter: {
type: "sql",
collection_name: "people"
}
},
extendModel: function(Model) {
_.extend(Model.prototype, {
// extended functions and properties go here
});
return Model;
},
extendCollection: function(Collection) {
_.extend(Collection.prototype, {
// extended functions and properties go
});
return Collection;
}
};
【问题讨论】:
-
参考这个线程上覆盖 Model.get() 的方法:stackoverflow.com/questions/6695503/…。当 attr == date 时,您可以返回 parseInt() 值。
标签: javascript backbone.js titanium appcelerator backbone-model