내가 프레임 워크 사용하고 있습니다 (유성,하지만 난 생각 문제에 대한 문제가되지 않습니다) 별도의 기능을 제공합니다 ..자바 스크립트 전역 대안
내 문제는 내가 있습니다 내가 더 많은 전역 변수를 사용하고 실현 이러한 기능들 사이에서 이들을 액세스 가능하게 만들 수 있습니다. 예를 들어, 지도 객체 : 나는 같은 문제가
Template.messages.events({
'click .delete-message': function (e,t) {
e.stopPropagation();
removeItem(e.target.id);
},
'click .message': function (e,t) {
console.log('event clicked');
map.setView([e.target.getAttribute('data-lat'),e.target.getAttribute('data-lng')], 16);
}
});
:
Meteor.startup(function() {
map = L.map('map_canvas').locate({setView: true, maxZoom: 21});
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
});
나는 예를 들어 (리플릿의 사용) 내지도를 조작 할 수 지도 사방에 접근 할 필요가 다른 곳에서 사용하고 싶은 표식 개체를 만들고 싶을 때 ...
유성이 이런 방식으로 만들어 졌는가, 아니면 더 적절한/깨끗한 JS인지 글로벌하게 물건을 만드는 것보다 오히려 전구적일까요?
편집 답장을 보내 주셔서 감사합니다. 예를 들어 언급 한 패턴 중 하나를 사용하지만 코드를 기반으로 한 코드 예제를 추가 할 수 있습니까? 이 방법으로 나는 그것을 훨씬 더 잘 이해할 수있었습니다.
당신이 다른, 아마도 유사한 [질문/대답 스레드]를 체크 아웃 할 수 있습니다 (http://stackoverflow.com/questions/5063878/javascript-global-variables-best-practices?rq = 1). – summea
"네임 스페이스"옵션 외에도 모든 코드 (모듈 패턴이라고도 함)에 대해 단일 클로저를 사용하여 함수에서 변수를 사용할 수 있지만 다른 함수에서는 사용할 수 없습니다. – RobG
[이 기사] (http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth)는 훌륭합니다. – jahroy