骨干模型初始化函数

时间:2014-12-09 14:42:16

标签: backbone.js model initialization

我不明白为什么骨干将初始化函数的参数添加到模型中。

var RippleId = Backbone.Model.extend({

    initialize: function(toresolve) {
        this.url= config.rippleaccount.id.urlModel+toresolve;       
    }

});

toresolve是一个字符链(类似于" rkjnfezmeznfzln ......"以及我创建模型时的结果

0:" r" 1:" h" 2:" s" 3:" b" 4:" z& #34; 5:" U" 6:" t" 7:" o" 8:" N" 9:" Z& #34; 10:" C" 11:" t" 12:" 2" 13:" 7" 14:" Y& #34;" L" 16:" Q" 17:" c" 18:" k" 19:" K& #34; 20:" V" 21:" Q" 22:" H" 23:" n" 24:" E && #34; 25:" g" 26:" f" 27:" Y" 28:" y" 29:" g& #34; 30:" J" 31:" Q" 32:" b" 33:" 5" account_data:Objectid:&#34 ; keyfact4" ledger_current_index:10414762validated:false

基本上我的目标还可以。但是在开始时我的链中的每个字符都被添加为参数。考虑到链作为一个数组,似乎主干正在添加它。

我不明白为什么骨干会这样做,我做错了什么?

提前多多感谢

1 个答案:

答案 0 :(得分:1)

那么,toresolve是一个字符串? Backbone.Model期望第一个参数是模型的属性,第二个参数是选项。两者都应该是对象。

我认为你想要的是:

var options = {
    toresolve: 'rkjnfezmeznfzln'
};
new RippleId({}, options);

然后在你的初始化函数中:

initialize: function (attr, options) {
    this.url = config.rippleaccount.id.urlModel + options.toresolve; 
}