gpt4 book ai didi

javascript - Backbone.js 在解析模型后向模型添加计算属性

转载 作者:行者123 更新时间:2023-11-28 01:45:30 24 4
gpt4 key购买 nike

在 Backbone 中,有一种方法可以在解析同一模型后在模型上执行函数。

我有带有基础数据的模型,并且想要计算组合基础数据的另一个属性。

目前,我在模型内部设置了一个函数来创建和添加属性,这是在通过循环每个模型从服务器获取数据后执行的,但它并不理想。

var Report = Backbone.Model.extend({

generateURL: function(){
var sURL = '', sHash = '';

sHash += this.get('reportid');
sHash += 'p1' + app.venue.info.get('loginid');

sURL += 'r=' + this.get('reportid');
sURL += '&p1=' + app.venue.info.get('loginid');

_.each(this.params, function(param){
sURL += '&' + param.name + '=' + param.value;
sHash += param.name + param.value;
});

sURL += '&h=' + new jsSHA((sHash + this.collection.sKey),'TEXT').getHash('SHA-1','HEX');

this.set({"url":sURL});

}

});

var Reports = Backbone.Collection.extend({

model: Report,
sKey: '***********',
url: function(){
return '/reports/venue/'+ app.venue.info.id;
},

});

app.venue.reports.set([{id:0,reportid:3,params:null,report_name:'Report3'},{id:1,reportid:2,params:null,report_name:'Report2'}]);

app.venue.reports.each(function(report){ report.generateURL(); });

最佳答案

您当然可以重写 .parse() 函数并执行您想要的任何操作。

var Mod = Backbone.Model.extend({
parse: function(response){
response.new_attr = response.old_attr + 1;
return response;
}
})

关于javascript - Backbone.js 在解析模型后向模型添加计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20376292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com