0

アプリケーションの作成に backbone.js を使用しています。私は次のようにコードJSコードを持っています、

window.RequestsView = Backbone.View.extend({

initialize:function ( input ) {

    console.log('input ' + JSON.stringify(input) );

    this.variables = {   request_id:input.model.id,
                         status:input.model.status,
                         mavenGav:input.model.mavenGav, 
                         email:input.model.emailId, 
                         errorNo:input.model.errorNo, 
                         errorDesc:input.model.errorDesc };

    console.log("variables : "+ JSON.stringify( this.variables ) );

    this.template = _.template(tpl.get('requests'));
    var out = this.template( input );

    console.log("out: "+ JSON.stringify( out ) );

    // deep copy the object
    this.request =  $.extend( true, {},  input);
}

});

これを chrome デバッガーでデバッグすると、次のログが表示されます。

input {"model":{"mavenGav":"fgdfgfdgdfg:fgdfgfd:gdfgdfg","repositories":["dfgdfgdfgf"],"emailId":"gdfg","id":1083,"createdTime":null,"status":"CREATED","errorNo":0,"errorDesc":null}}
requests.js:12variables : {"request_id":1083}

エラーはありません。this.variables に割り当てられた残りの JavaScript リテラルはどうなりますか?

4

1 に答える 1

0

undefinedjsonは数値、文字列、ブール値、null、およびオブジェクト/配列しか認識しないため、値はjsonに文字列化されません。したがって、プロパティは存在しますが、変換時に「失われます」。

試してみてくださいconsole.debug("variables :",this.variables)。これにより、変数オブジェクトを検査できます。

于 2012-04-09T20:28:09.940 に答える