UI 부트 스트랩을 사용하여 모달 대화 상자를 만듭니다. "templateUrl"을 사용하고 "ng-template"을 사용하여 html 템플릿을 포함하면 잘 작동합니다. 하지만 여러 개의 모달 대화 상자가있는 경우 "ng-template"을 사용하여 페이지의 모든 html 템플릿을 포함시킨 후 내 페이지가 점점 더 커지고 있습니다. 내가 "templateUrl"를 사용하는 대신 직접 HTML 마크 업을 사용할 수있는 방법이 있나요UI 부트 스트랩 모달에서 HTML 마크 업을 전달하는 방법
angular.module('mydemo', ['ngAnimate', 'ui.bootstrap']);
angular.module('mydemo').controller('myCtrl', function ($scope, $uibModal, $log) {
$scope.open = function (size) {
var modalInstance = $uibModal.open({
templateUrl: 'myContent.html',
controller: 'ModalInstanceCtrl',
size: size
});
};
});
angular.module('mydemo').controller('ModalInstanceCtrl', function ($scope, $uibModalInstance) {
$scope.cancel = function() {
$uibModalInstance.dismiss('cancel');
};
});
: HTML
<head>
<script data-require="[email protected]" data-semver="1.5.5" src="https://code.angularjs.org/1.5.5/angular.min.js"></script>
<script data-require="[email protected]" data-semver="1.5.5" src="https://code.angularjs.org/1.5.5/angular-animate.js"></script>
<script data-require="[email protected]" data-semver="1.3.2" src="https://cdn.rawgit.com/angular-ui/bootstrap/gh-pages/ui-bootstrap-tpls-1.3.2.js"></script>
<script src="script.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
</head>
<body>
<div ng-controller="myCtrl">
<script type="text/ng-template" id="myContent.html">
<div class="modal-header">
<h3 class="modal-title">I'm a modal!</h3>
</div>
<div class="modal-body">
Modal body content goes here...
</div>
<div class="modal-footer">
<button class="btn" type="button" ng-click="cancel()">Close</button>
</div>
</script>
<button type="button" class="btn btn-default" ng-click="open()">Show modal</button>
</div>
</body>
</html>
자바 스크립트 : 여기
코드인가? 아니면 HTML 템플릿을 ng-template을 사용하는 페이지에 포함하는 대신 별도의 파일로 유지할 수있는 방법이 있습니까? 다음은 작동 예제입니다. http://plnkr.co/edit/HqThAG79r22K2VGZSs2D?p=preview
감사합니다. Bennette – SatAj
@ BennettAdams 두 번째 방법에 대해 더 자세히 설명해 주시겠습니까? –
@CanetRobern, 물론. 템플리트는 다른 템플리트 (모달을 호출 할 때 이미로드 된 상위 또는 추상 템플리트)의 스크립트 태그에 넣을 수 있습니다. 스크립트는'id'와'type' 속성을 필요로합니다. 'id = "my-modal-template"과'type = "text/ng-template"'을 사용합니다. 그리고'modalInstance' 설정에서'template'보다는'templateUrl' 속성을 사용할 것이고 값은 스크립트에서 템플릿의'id'가 될 것입니다. –