2.1.6 • Published 5 years ago

understore v2.1.6

Weekly downloads
3
License
ISC
Repository
github
Last release
5 years ago

Understore

5가지 함수로 확장가능한 웹 컴포넌트 개발

추가, 가져오기, 모두가져오기, 삭제, 모두삭제 5개의 API를 활용한 개발은

확장 컴포넌트간의 상태관리 및 유지보수의 용이성을 제공합니다.

백그라운드 스토어 에코시스템 기반의 데이터 상태관리를 사용하며 상태관리를 하며

데이터의 업데이트에 따라 각 탭에 있는 Virual Dom 기반의 동일한 웹 컴포넌트의 데이터 싱크를 유지가능하게 해줍니다

SNS 알림, 메일 알림등 탭간 다르게 보여지는 각 상태를 새로고침 없이 동기화를 가능하게 합니다.

 

자세한 내용은 아래 API 문서와 예제를 참조해주세요

IE9 레거시 브라우저를 지원 및 chrome, firefox, safari에서 사용가능합니다.

API

_.addItem

addItem은 컴포넌트의 생성추가에 사용됩니다.

parameter : {

id: {string},

template : {string},

target : {dom.element},

parent : {

id : {string},

idx : {number}

},

data : {object},

created : {function},

changed : {function},

css : {url address}

}

return : {

id : {string},

idx : {number}

}

 

templatedata 바인딩

script 태그 내에 삽입하는 방식과 자바스크립트 변수안에 템플릿을 삽입하는 방식을 사용하고 있으며

virtual dom 방식의 dom관리를 통해 스토어의 수정 발생시 템플릿의 해당 보간자 영역의 repaint의 가벼운 수정 방식을 사용하고 있습니다.

template type1 on jsfiddle

template type2 on jsfiddle

css

스타일은 css 파일의 경로 넣어 사용되며, 스타일 모듈화는 스타일과 중복되지 않도록 scoped 방식을 채용하고 있으며 있습니다.

컴포넌트(custom element) 셀렉터는 :root 입니다

css import on jsfiddle

events는 이벤트 바인딩이며 @click="function_name"으로 바인딩이 가능하며 아래 예제를 참조

event bind on jsfiddle

 

생성에서의 필수옵션은 id, template, target, data이며 추가 옵션은 events, css, sync 이며 아래 예제를 참조

_.addItem({

id : "example_component",

template : '<example_component>{this.text}</example_component>',

css : "http://example.com/css/style.css",

target : document.querySelector(".target"),

data : {text : "hello world"},

parent : {

id: {string},

idx : {number}

},

events : {

onEvent : {

function(event){ }

}

}

});

 

추가에서의 필수옵션은 id, data 이며 아래 예제를 참조

_.addItem({

id : "example_component",

data : {text : "hello world"},

parent : {

id: {string},

idx : {number}

}

});

 

_.setItem

setItem은 컴포넌트의 수정에 사용됩니다.

parameter : {

id: {string},

idx : {number}, // idx default : 0

data : {object}

}

return : undefined

_.setItem({ 
	id : "example_component", 
	data : {text : "텍스트를 수정"} 
});

=> undefined

 

_.getItem

getItem은 컴포넌트 이벤트, 컴포넌트, 데이터, 확장 컴포넌트의 값을 가져오는데 사용됩니다.

parameter : {

id : {string},

idx : {number}

}

return : {

target : {element},

data : {object},

element : {component element},

event params...

}

var item = _.getItem({
	id : "example_component",
	idx : 1
});
  
console.log(item);
=> { Event object......, data : addItem add data!, elment : ▶<example_component>...</example_component>  }

 

_.getItems

getItems은 컴포넌트 getItem의 확장 유틸리티로 컴포넌트의 정보를 배열 값으로 모두 가져오는데 사용됩니다.

parameter : {

id : { string }

}

return : [

event :{

target : {element},

data : {object},

element : {component element},

event params...

}

event : {same object},

event : {same object},

more ...

]

var item = _.getItems({
	id : "example_component"
});
  
console.log(item);
=> [Array Extend event object]

 

_.removeItem

removeItem은 컴포넌트를 삭제의 할때 사용되며 해당 컴포넌트, 바인딩된 이벤트, 데이터를 한번에 삭제합니다.

parameter : {

id : "example_component",

idx : 2

};

return : undefined

_.removeItem({ 
	id : "example_component", 
	idx : 2
});

=> undefined

 

_.clear

clear는 removeItem 확장 유틸리티로 컴포넌트를 모두삭제의 할때 사용되며 모든 컴포넌트, 바인딩된 이벤트, 데이터를 한번에 삭제합니다.

parameter : {

id : {string}

}

return : undefined

var item = _.clear({id: “example_component”});

console.log(item);
=> 17  // example_component items removed length

 

예제

Todomvc example on jsfiddle

창 혹은 탭을 두개 여시고 컴포넌트간의 데이터의 동기화를 확인하세요

2.1.6-stable

5 years ago

2.1.6

5 years ago

2.1.5-stable

5 years ago

2.1.5

5 years ago

2.1.4-stable

5 years ago

2.1.4

5 years ago

2.1.3-stable

5 years ago

2.1.3

5 years ago

2.1.2-stable

5 years ago

2.1.2

5 years ago

2.1.1-stable

5 years ago

2.1.1

5 years ago

2.1.0-rc3

5 years ago

2.1.0-rc2

5 years ago

2.1.0-rc1

5 years ago

2.1.0-rc

5 years ago

2.1.0-stable

5 years ago

2.1.0

5 years ago

2.0.9

5 years ago

2.0.8-stable

5 years ago

2.0.8

5 years ago

2.0.7-stable

5 years ago

2.0.7

5 years ago

2.0.6

5 years ago

2.0.5

5 years ago

2.0.4-stable

5 years ago

2.0.4

5 years ago

2.0.3-stable

5 years ago

2.0.3

5 years ago

2.0.2-stable

5 years ago

2.0.2

5 years ago

2.0.1-stable

5 years ago

2.0.1-rc

5 years ago

2.0.1

5 years ago

2.0.0-stable

5 years ago

2.0.0

5 years ago

1.9.9-stable

5 years ago

1.9.9

5 years ago

1.9.8-stable

5 years ago

1.9.8

5 years ago

1.9.7-rc

5 years ago

1.9.7

5 years ago

1.9.6-rc

5 years ago

1.9.6

5 years ago

1.9.5-rc

5 years ago

1.9.5

5 years ago

1.9.4

5 years ago

1.9.3

5 years ago

1.9.2

5 years ago

1.9.1

5 years ago

1.9.0-rc.8

5 years ago

1.9.0-rc.7

5 years ago

1.9.0-rc.6

5 years ago

1.9.0-rc.5

5 years ago

1.9.0-rc.4

5 years ago

1.9.0-rc.3

5 years ago

1.9.0-rc.2

5 years ago

1.9.0-rc.1

5 years ago

1.9.0-rc2

5 years ago

1.9.0-rc1

5 years ago

1.9.0-rc

5 years ago

1.9.0-final

5 years ago

1.9.0-stable

5 years ago

1.9.0

5 years ago

1.5.0-Stable

5 years ago

1.5.0-rc

5 years ago

1.5.0-rc6

5 years ago

1.5.0-rc5

5 years ago

1.5.0-rc4

5 years ago

1.5.0-rc3

5 years ago

1.5.0-rc2

5 years ago

1.5.0-rc1

5 years ago

1.5.0-stable

5 years ago

1.5.0

5 years ago

1.4.9

5 years ago

1.4.8

5 years ago

1.4.7

5 years ago

1.4.6

5 years ago

1.4.5

5 years ago

1.4.4

5 years ago

1.4.3-rc

5 years ago

1.4.3

5 years ago

1.4.2

5 years ago

1.4.1

5 years ago

1.4.0-stable

5 years ago

1.4.0-rc

5 years ago

1.4.0

5 years ago

1.3.9

5 years ago

1.3.1

5 years ago

1.3.0-rc1

5 years ago

1.3.0

5 years ago

1.2.9

5 years ago

1.2.8

5 years ago

1.2.7

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3-rc

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.1.0-rc

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3-rc.0

5 years ago

1.0.3-rc

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0-rc

5 years ago

0.0.0

5 years ago

0.5.0-rc.2

5 years ago

0.5.0-rc.1

5 years ago

1.0.0-Release

5 years ago

1.0.0-release

5 years ago

1.0.0-rc.final

5 years ago

1.0.0-rc.6

5 years ago

1.0.0-rc.5

5 years ago

1.0.0-rc.4

5 years ago

1.0.0-rc.3

5 years ago

1.0.0-rc2

5 years ago

1.0.0-rc1

5 years ago

1.0.0-stable

5 years ago

1.0.0

5 years ago

0.5.5

5 years ago

0.5.4

5 years ago

0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0-stable

5 years ago

0.5.0-rc.0

5 years ago

0.4.9

5 years ago

0.4.8

5 years ago

0.4.7

5 years ago

0.4.6

5 years ago

0.4.5

5 years ago

0.4.4

5 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.9

5 years ago

0.3.8

5 years ago

0.3.7

5 years ago

0.3.6

5 years ago

0.3.5

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.9

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago