(미안 내 영어 : 나는이 같은 AngularUI UI - 선택 2 지시어 내 형태로 Select2을 사용하고AngularJS select2 - 지시문 작성 방법은 무엇입니까?
:
<input ng-model="city" type="text" ui-select2="setupCitySelect" />
곳 setupCitySelect - 선택 2 옵션 객체입니다. 나는 적절한 범위에 그를 세울거야
$scope.setupCitySelect = {
allowClear: true,
minimumInputLength: 2
...etc, about 50 SLOC
}
모두 잘 작동한다. 그러나 우리가 말했을 때, 페이지 (또는 페이지의 일부)에 5 개의 select2 요소 - CitySelect, UserSelect, ConditionSelect 등이 있습니다. 우리는 많은 코드를 가지며, 대부분이 동일합니다. AngularUI는 "글로벌 기본값"을 제공합니다. 그래서 우리는 (지시)에 코드를 반복 이동할 수 있습니다
var dirs = angular.module('vipc.directives', ['ui']);
// defaults setting for UI
dirs.value('ui.config', {
select2: {
allowClear: true,
minimumInputLength: 2,
formatInputTooShort: function(term, minLenght) {
var rest = minLenght - term.length;
return "minimum: "+rest;
},
...etc.
을하지만 우리는 여전히 컨트롤러에 몇 가지 작업을해야합니다 ... 을 같은 아약스 - URL과 고유의 속성을 설정하고이 여러 페이지에왔다, 여러 컨트롤러 . Ough ... 예,이 파일을 common.js라는 하나의 파일에 넣을 수 있습니다. 하지만 제 생각에는 최선의 방법은 아닙니다. Angulas는 말한다 : "지시를 사용하십시오, Luke!". 그러나 어떻게? 너무 복잡한 문서들. 나는 docs을 읽었다. 세 번. 성공하지 못했습니다. 나는 간단한 dir을 썼지 만 ... '고립 된'범위가 있어야한다. 위의 검색 양식과 모달 형식에서 CitySelect를 2 페이지로 사용할 수있다. 함수를 컴파일 하시겠습니까? 링크 기능?
내가 필요로하는 것은 단지
<myapp-city-select id="city"></myapp-city-select>
<myapp-user-select></myapp-city-select>
...later, same html file
<myapp-city-select id="city2"></myapp-city-select>
누군가가 도움이 될 수있다?
나는 당신의 질문이 무엇인지 잘 모르겠습니다. JQuery 플러그인이 올바르게 작동하는 데 문제가있는 것 같습니다. 문제를 시연하는 [plunk] (http://plnkr.co) 또는 [fiddle] (http://jsfiddle.net)을 게시 할 수 있습니까? –
모두 정상적으로 작동합니다. =) 그것은 단지 코드 문제의 조직입니다 - 지시문을 작성할 수 없습니다. 죄송합니다. 지금 집에 가야합니다. (나중에 바이올린을 입력하십시오. – chip
select2 지시어를 좀 더 일반화하고 데이터 항목 당 지시문이 아닌 다른 요소로 사용할 수 있습니다 (예 : 도시 용, 사용자 용 등). 당신은 범위에서 '도시'또는 '사용자'를 얻을 수있는 새로운 속성을 만들 수 있습니다. 지시어는 어렵습니다. 이것이 가장 도움이되었습니다 : http://youtu.be/iB7hfvqyZpg. 나는 그 비디오를보고 다시 시도해 보았습니다. 문제를 해결하는 데 도움이되는 트릭을 배울 것입니다. –