我正在使用ActiveJDBC访问第三方数据库。有一个名为“users / year”的列。我对此并不满意,但无法改变它。 这个结果是json中的一个属性“users / year”,它是我的backbone.js模型的基础。现在,如果我想在以下模板中访问该属性:
<li><%= name+ ' ' + users/year %></li>
当然它不起作用。我尝试逃避但这不起作用。有什么建议吗?
由于我是activeJDBC和backbone.js的新手,有没有办法将属性映射到可接受的变量名?或其他可能的解决方案?我应该从activeJDBC切换到其他东西吗?
答案 0 :(得分:0)
您可以向集合或模型添加解析方法,以将属性重新映射为可用名称:
var M = Backbone.Model.extend({
parse: function(resp) {
if (resp['users/year']) {
resp['users_year'] = resp['users/year'];
delete resp['users/year'];
}
return resp;
}
});
并相应地更改模板
<li><%= name+ ' ' + users_year %></li>
答案 1 :(得分:0)
或者你可以使用getter包装器包装模型的动态getter: http://code.google.com/p/activejdbc/wiki/SettersAndGetters#No_%22standard%22_setters/getters ...