저는 Angular (그리고 JS는 그 문제에 대해)에 상당히 익숙하며 범위, 컨트롤러 및 지시문을 머리 속에 감싸려고합니다. 나는 현재 두 가지 대출 비용을 비교할 수있는 비교 모기지 앱을 개발 중이다. 이상적으로, 모기지 데이터의 각 집합은 필요한 계산을 수행하고 해당 데이터 세트의 각각의 "모듈"(양식, 테이블, 할부 상환 일정, 그래프 등)에 바인딩 할 하나 이상의 (또는 여러 개의) 지시문으로 전달됩니다. 모든 데이터 집합의 "모듈"이 동적으로 업데이트되기를 원합니다. 따라서 대출 A의 형식이 대출 A의 모든 모듈에 자동으로 반영됩니다. 각 대출의 일부 데이터를 부모 컨트롤러/범위로 전달해야합니다. 그러면 대출 A와 B의 비교를 수행 할 수 있습니다.AngularJS 모기지 응용 프로그램을위한 모듈 식 플러그 앤 플레이 유형 지시문을 만드는 데 도움이 필요합니다.
중첩 지시어로 일부 작업을 처리 할 수있었습니다. 이 방법을 사용
<div class="col-md-6">
<mort-data mortgage="1" id="mort_a" ng-init="mortInstance = 1">
<div class="row">
<div class="col-md-6">
<div ng-include="'templates/forms/userMortForm.html'"></div>
</div>
<div class="col-md-6">
<div ng-include="'templates/tables/userMortTable.html'"></div>
</div>
</div>
<div class="row">
<mort-schedule>
<div class="row">
<div class="col-md-12">
<div id="mort1_sch" ui-grid="gridOptions" ui-grid-edit ui-grid-auto-resize class="grid"></div>
</div>
</div>
<label><input type="checkbox" ng-model="toggleWaste.value" ng-click="includeWaste()"> Include Insurance
& Tax</label>
</mort-schedule>
</div>
</mort-data>
.directive('mortData', function (dataServices) {
return {
restrict: 'E',
scope: true,
link: {
pre: function (scope, element, attrs) {
scope.data = {};
scope.data.salePrice = 9999999;
//define mortgage vars here and perform calculations
}
}
})
.directive('mortSchedule', function (uiGridConstants, $timeout) {
return {
restrict: 'E',
scope: false,
link: function (scope, element, attrs) {
scope.data.amortSchedule = {};
//build amortization schedule here
}
}
})
두 번 나에게 두 가지, 고립 된 모기지 데이터 세트를 제공합니다. 내가 이해할 때, 나는 각 mortData 인스턴스에 대해 상속 된 스코프를 생성하고 해당 스코프를 각각의 중첩 된 mortSchedule 지시문에 전달합니다. 그러나이 구조로 인해 결국 각 mortData 지시문의 데이터를 상위 컨트롤러로 전달하고 원하는 비교를 수행 할 수 없게됩니다. 그것은 또한 지속적으로 중첩 된 지시문에 의존하는 것처럼 보이며, 이는 지저분하고 제한적일 수 있습니다.
이 프로젝트에 접근하는 "각도"방법이 무엇인지 궁금합니다. 나는 그것에 대해 완전히 잘못 될 것인가? 당신의 도움을 주셔서 감사합니다.
당신은 뒤에 나에게 이유를 알 수 있습니다 두 개의 지시문을 만들었습니까? – Aravind
나는 정말로 좋은 이유가 없다. 각 지시어가 하나의 "모듈"을 구축하는 것이 합당한 것으로 보였습니다. 모든 "모듈"에 대한 모든 로직이 하나의 지시문에 포함되어 있다고해도 상위 컨트롤러에 데이터를 전달할 수없는 동일한 문제가 여전히 남아 있지 않습니까? –
처음으로 지시어를 만드시겠습니까? – Aravind