유연한 스프레드 시트 형식 데이터 입력 폼을 표시하는 데 사용하려는 일반 지시문을 만들려고합니다.자식 요소에서 데이터 추출 및 지시문에서 사용
모든 데이터 구조를 & HTML 코드에 입력하고 지시문을 가져 와서 나중에 사용할 수 있도록 범위에 저장하고 싶습니다. 여기
내가 사용하고 싶습니다 샘플 HTML의 (이하 "필드"요소의 정보 것은 내가 범위에 들어가하고 싶은 것입니다) :<array title="Breakdown" data="data.breakdown">
<field type="text" default="" name="descr">Description</field>
<field type="number" default="0" name="price">Price</field>
<field type="number" default="0" name="tax">Tax</field>
</array>
그리고 지침까지
.directive('array', function(){
return {
restrict: "E",
replace: true,
transclude: true,
templateUrl: "js/array-template.html",
compile: function(tElement, tAttrs, transclude) {
var x=transclude(tElement);
return function(scope, element, attrs) { //the linking function
scope.title=attrs.title;
}
}
}
}
변수 x는 나에게 html 요소 배열을 제공하지만 "필드"요소뿐만 아니라 빈 "span"요소도 포함합니다. 필요한 경우 작업 할 수 있지만 더 간단한 방법이 있다고 생각합니다.
처음으로
자바 스크립트는 linkingFunction입니다. 또한 요소에 접근 할 수 있으므로 이론적으로 요소를 검색하고 값을 가져 와서 범위에 할당 할 수 있습니다. 그러나 이것은 지저분한 느낌입니다. JSON과 같은 더 나은 형식으로 데이터를 가져올 수 있습니까? 그렇다면 지시어에 특성으로 전달할 수 있고 필요한 값을 가져 와서 필요한 항목을 템플릿에 삽입 할 수 있습니다. – bennick
@bennick 감사합니다. 그렇습니다. 해결책이 될 수는 있지만 바람직하지는 않습니다. 다른 구문을 HTML 마크 업과 혼합하는 것입니다. 나는 엘리먼트에 대한 설명을 HTML로 유지하려고했다. 많은 검색을 한 후에 솔루션을 찾아서 게시했습니다. –