2013-02-06 2 views
0

녹아웃 매핑을 사용하여 채워지는 하위 뷰 모델에 계산을 추가하려고합니다. 내가 침입했을 때 javascript 배열에 올바르게 배치 된 역할 배열을 보았지만 내 뷰 모델에서 관찰 가능 어레이는 항상 길이가 0입니다.녹아웃 매핑 ObservableArray에 내 개체가 없습니다.

다음은이를 보여주는 jsfiddle입니다. 제가 누락 된 부분에 대한 도움을 주시면 감사하겠습니다. 뿐만 아니라 루트 객체 있지만, 모든 속성을 그 안에 - 맵핑이 당신의 JS에서 관찰 가능한을 만들어 실행 한 후 다음

http://jsfiddle.net/spbrogan/aREpY/

는 아이 뷰 모델을

var userModel = function(data) { 
    data.createDate = new Date(data.createDate); 

    ko.mapping.fromJS(data, {}, this); 


    this.isAdmin = ko.computed(function() { 
     var admin = false; 
     ko.utils.arrayForEach(this.role(), function(role) { 
      if(role.name == "Admin") { 
       admin = true; 
      } 
     }); 
     return admin; 
    }, this); 
} //close userModel 

감사

답변

0

입니다 . 관찰은 함수입니다, 그래서 당신은() 양식을 사용하여 이름에 액세스해야합니다 http://jsfiddle.net/aREpY/41/

+0

감사 :

여기
ko.utils.arrayForEach(this.role(), function(role) { if(role.name() == "Admin") { admin = true; } }); 

업데이트 된 바이올린입니다. 나는 거의 근접했다. – Sean