나는 최근에 자바 스크립트 프로그래밍을 시작했고 모든 것이 좋을 것이라고 생각했다 ... 글쎄, 오늘 나는 스스로 해결할 수없는 문제에 직면했다. 튜토리얼/학습 프로젝트에는 모델이라는 클래스가 있습니다. 이 클래스에는 private 변수와 public 변수가 있습니다. 이 변수의 유형은 CustomEvent입니다.자바 스크립트 : 동일한 클래스의 공용 변수에 액세스하는 방법은 무엇입니까?
function Model(){
/**
* Array in which the questions are stored
*/
var questions=new Array();
var db;
var valuesSplit="*";
var tableName="quests";
this.myEvent=new CustomEvent("my event");
"myEvent"는 공개되어 있으며 외부에서 호출 할 수 있습니다. 이 경우 구독 할 수있는 이벤트이며 (이 클래스 외부에서는 듣고 싶은 다른 개체에서 수행됩니다.) 해고 될 수 있습니다 (동일한 클래스에서 수행됨). 그리고 이것이 내 문제입니다. 모델 클래스 내에서 myEvent에 액세스하려면 어떻게해야합니까?
this.myEvent.fire()
과 :
나는 시도myEvent.fire()
을하지만 난 항상 "myEvent가 정의되지 않은"얻을. 그러나
function Model(){
this.myEvent = 'some value';
this.canAccessEvent = function(){
return 'myEvent' in this;
}
}
var m = new Model();
// access from outside :
alert(m.myEvent);
// access from inside :
alert('Model can access the even? ' + m.canAccessEvent());
, 당신 new CustomEvent
기능이 존재하지 않는 것이 매우 가능 또는 유효한 오브젝트 메이커를 반환하지 않는 :
정확히 this.myEvent.fire() 또는 myEvent.fire()를 쓰고 있습니까? this.myEvent.fire() 클래스의 함수 안에 writting하는 경우 해당 코드를 공유하십시오. – Vishwanath
답장을 보내 주셔서 감사합니다! 그것은 그 선언의 바로 밑과 그 반원의 공공 기능 안에서 직접 시도했다. 아무것도 나를 위해 일한 – battlepope