2012-02-12 2 views
2

속성 내가 ... 내가 배열에 다른 값을 추가했다 유일한 차이점을하고 있어요은 ... 어떤 방법이 '없다'모델의

attributes: Object 
    array: Array[1] 
    id: "ef93fcc0d431d1000003" 
    state: "new" 

있습니다.

model = 
    array: Array[2] 
    id: "ef93fcc0d431d1000003" 
    state: "new" 
    __proto__: Object 

내가 지금과 같은 배열을 증가 ...

new_array = model.get('array').slice() 
new_array.push new_value 
model.set({array: new_array}) 

전체 오류 ...

Object function (obj) { return new wrapper(obj); } has no method 'has' 

이 그것을 던져 Backbone.js의 비트가 ...

// Update attributes. 
    for (attr in attrs) { 
    val = attrs[attr]; 
    if (!_.isEqual(now[attr], val)) delete escaped[attr]; 
    options.unset ? delete now[attr] : now[attr] = val; 
    delete this._changed[attr]; 
    if (!_.isEqual(prev[attr], val) || (_.has(now, attr) != _.has(prev, attr))) { 
     Uncaught TypeError: Object function (obj) { return new wrapper(obj); } has no method 'has' 
     this._changed[attr] = val; 
    } 
    } 

이것은 서버에서 보내는 업데이트입니다.

이 오류의 원인을 파악하기위한 아이디어 나 방향을 찾고 있습니다.

고맙습니다!

답변

6

코드가 Underscore.js 인 것 같습니다. 아마도 그게 없습니까?

+0

'_ = function (obj) {새로운 래퍼 (obj)를 반환; }'내가 기록 할 때, 어떤 일이 벌어 질 수 있 었는가? – fancy

+4

아, 끝내 보니 백본을 0.9로 업데이트했고 밑줄을 잊어 버렸습니다. 업데이트 문제 해결 !!! 감사! – fancy

0

내 경우에는 문제가 Backbone.js의 이전 버전과 함께 백본 관계형의 최신 버전을 사용하려고했습니다. 백본을 v0.9.1에서 0.9.2로 업데이트하면 바로 수정되었습니다.

관련 문제