0

我正在使用 ActiveJDBC 访问第三方数据库。有一列名为“用户/年”。我对此不满意,但无法改变。这个结果是 json 中的一个属性“用户/年”,这是我的骨干.js 模型的基础。现在,如果我想在以下模板中访问该属性:

<li><%= name+ ' ' + users/year %></li>

当然是行不通的。我试过逃跑,但那不起作用。有什么建议么?

由于我是activeJDBC和backbone.js的新手,有没有办法将属性映射到可接受的变量名?或者其他可能的解决方案?我应该从 activeJDBC 切换到其他东西吗?

4

2 回答 2

0

或者,您可以使用 getter 包装器包装模型的动态 getter: http ://code.google.com/p/activejdbc/wiki/SettersAndGetters#No_%22standard%22_setters/getters ???

于 2012-10-02T16:31:22.147 回答
0

您可以将 parse 方法添加到您的集合或模型中,以将您的属性重新映射为可用名称:

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>

小提琴http://jsfiddle.net/nikoshr/rnKSD/

于 2012-10-02T08:41:20.000 回答