Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript events 在属性哈希中设置id时,不会将其复制为主干中的直接属性_Javascript Events_Backbone.js - Fatal编程技术网

Javascript events 在属性哈希中设置id时,不会将其复制为主干中的直接属性

Javascript events 在属性哈希中设置id时,不会将其复制为主干中的直接属性,javascript-events,backbone.js,Javascript Events,Backbone.js,在主干文档中,它表示: 但它对我的代码不起作用: var room = new Room({id: 1}); test.equals(room.id, 1);// expect room.id to be 1, but it's undefined. 这意味着我无法从我的收藏中获取此模型: rooms.add(room); test.equals(rooms.get(1), room); // expect equal, but not because rooms.get(1) returns

在主干文档中,它表示:

但它对我的代码不起作用:

var room = new Room({id: 1});
test.equals(room.id, 1);// expect room.id to be 1, but it's undefined.
这意味着我无法从我的收藏中获取此模型:

rooms.add(room);
test.equals(rooms.get(1), room); // expect equal, but not because rooms.get(1) returns undefined
以下是房间模型的一些代码片段:

var Room = Backbone.Model.extend({
        defaults: {
            dealInterval: 1
        },                 
        initialize: function(){   
            var seats = Seats.prepareSeats();   
            this.set({seats: seats, roomState: RoomState.WAITING, cards: Cards.decks(2)});
        }

    });
我甚至可以用一个简单的node命令(版本0.9.2,下划线1.3.3)重现这个问题:


所以我怀疑我的node env可能有问题?

非常奇怪,在我的模型上尝试同样的方法效果很好。你能粘贴房间模型相关的代码吗?也许你的model.idAttribute不是“id”?这一个对我有用,试试:
var Room=Backbone.model.extend({defaults:{dealInterval:1},initialize:function(){This.set({seats:});})我可以在一个简单的环境中重现这个问题,请查看原始问题中的更新。谢谢
username$ node
> var Backbone = require('backbone');
undefined
> var room = new Backbone.Model({id: 1});
undefined
> room.id
undefined // expect to be 1
> room
{ attributes: { id: 1 },
  _escapedAttributes: {},
  cid: 'c0',
  changed: {},
  _silent: {},
  _pending: {},
  _previousAttributes: { id: 1 } }
>