2013-11-09 1 views
1

추가 그것이 콜백에 결코 도달하지 않는다는 것을 찾아내는 경우에.CanJS 내가 이런 일을 되세요 CanJs 모델</p> <p>에서 결과를 얻으려면 다른 기능을 추가 할 사용자 정의 모델 방법

나는 모형을 확장해야 하는가? FindAll과 같은 함수를 추가하는 방법이 있습니까?

은 표준 findOne, findAll 등 모델 방법에 대한 모델 인스턴스로 변환을 추가하면

+0

아래 표를 상향 조정하는 투표. 투표가 내려지지 않았고 이것은 합법적 인 질문입니다. , 비디오 메이커 : 'VideomakerModel.findNear ({주소 : 주소}, 기능 (비디오 메이커) { videomakerControl = 새로운 VideomakerControl ($ ('#의 accordionVm'), { 비디오 메이커 –

답변

2

CanJS 대단히 감사합니다. 내가 질문을 이해한다면

VideomakerModel = can.Model({ 
    id:'ID', 
    findAll: 'GET /videomakers/', 
    findNear: function(params) { 
    var self = this; 
    return $.post("/get_near_videomakers/", { 
     address:params.address 
    }, undefined ,"json").then(function(data) { 
     return self.model(data); 
    }); 
    } 
},{}); 
+0

안녕하세요 다프, 은 내가 가진 함수를 호출 할 때 보기 : 'videomakersList' }); ' 데이터는 정상이지만 콜백을 발생시키지 않습니다. 이유가 무엇입니까? 감사합니다! – Magico

0

, 그렇게하는 것이 필요하다 : 당신은 (여러 항목) 또는 VideoMaker.models (단일 항목에 대한) VideoMaker.model을 통해 결과를 실행하여 추가 구현에 자신 있다고해야 할 것 :

VideomakerModel = can.Model({ 
     id:'ID', 
     findAll: 'GET /videomakers/' 
    }, 
    { 
     findNear: function(options, success){ 
      can.ajax({ 
       url: "/get_near_videomakers/", 
       type: 'POST', 
       data: options, 
       success: success 
      }) 
     } 
    }) 

var myList = new VideomakerControl({}); 

myList.findNear({address:params.address}, function(resulrRequest){ 
    //success 
})