2013-03-27 5 views
0

HTML 페이지에서 외부에서 호출 할 개체의 메서드를 내보내려면 어떻게해야합니까?개체의 속성 내보내기

자바 스크립트 코드 : 사람들에 대한 피드백을 제공 여러 항목이 페이지에

my.namespace.FeedbackController = Class.create(); 
Object.extend(my.namespace.FeedbackController.prototype, { 
initialize:function(fid, fitem){ 
    this.fid = fid, 
    this.feedback_item = fitem; 
}, 
link_click : function(fstate) { 
    alert(fstate); 
} 
}); 
goog.exportSymbol('my.namespace.FeedbackController', my.namespace.FeedbackController); 
goog.exportProperty(my.namespace.FeedbackController, 'link_click', my.namespace.FeedbackController.link_click); 

. HTML 코드 :

<script type="text/javascript"> 
    feedback_handlers = new Array(); 
    feedback_handlers[16] = new my.namespace.FeedbackController(16, 'useful'); 
</script> 
<a href="javascript:feedback_handlers['16'].link_click('useful');">Useful</a> 

내가 링크 나 형식 오류 얻을 '유용한'를 클릭 :. feedback_handlers를 ['16 '] link_click은 함수가 아닙니다.

내가 누락 된 항목이 있습니까?

답변

1

당신이 Object.extend가 폐쇄 컴파일러에 의해 인식되지 않는 함수 프로토 타입을 확장하는 방법을 참조하십시오. 당신은 직접적인 프로토 타입 지정을 사용해야합니다 : 당신은 자세한 경고와 함께 컴파일하면

my.namespace.FeedbackController.prototype.initialize = function() ... 

, 당신은 정의되지 않은 속성에 대해 경고를 받아야합니다.