예를 들어 common.ui 라는 이름의 패키지를 정의하고 싶다면,
1 2 | var common = window.common = window.common || { };common.ui = {}; |
개인적으로는 다음과 같이 JQuery.extend 함수를 사용하는 것을 더 선호한다.
1 | $.extend(common, {ui:common.ui||{}}); |
그럼 더 나아가서 다음과 같은 패키지 구조를 생각한다.

먼저 common.ui.core.js , common.ui.data.js 스크립트 파일을 생성한다.
common.ui.core.js
1 2 3 4 5 6 7 8 | ;(function($, undefined) { var common = window.common = window.common || { }, extend = $.extend; extend(common, { ui: common.ui || {} });})(jQuery); |
1 2 3 4 5 6 7 8 | ;(function($, undefined) { var ui = common.ui, extend = $.extend; extend(ui, { data: common.ui.data || {} });})(jQuery); |
이제 common.ui 패키지에 kendo 프레임워크의 DataSource 객체를 미리 정의된 프로퍼티 값으로 생성하는 datasource 라는 함수를 추가하여 보자. 기존의 common.ui.core.js 파일에 추가하여도 되고 별도의 파일을 생성하여도 무관한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | ;(function($, undefined) { var ui = common.ui, extend = $.extend; function handleAjaxError(xhr) { // do something } var DEFAULT_DATASOURCE_SETTING = { transport:{ read:{ type :POST, dataType : JSON } }, serverPaging: true, error:handleAjaxError, pageSize: 10 }; function datasource(url, options){ options = options || {}; var settings = extend(true, {}, DEFAULT_DATASOURCE_SETTING , options ); if( defined(url) ){ settings.transport.read.url = url; } var dataSource = DataSource.create(settings); return dataSource; }; extend (ui, { datasource : common.ui.datasource || datasource });})(jQuery); |
댓글 없음:
댓글 쓰기