■ AngularJS에서 동적으로 HTML코드를 추가하고 추가된 코드에 함수를 붙여야 할 경우가 있다. jQuery와 AngularJS를 이용하여 알아본다.
■ 코드설명
- 6,7라인에서 jQuery와 AngularJS라이브러리를 등록한다.
- 10라인 : $scope, $compile서비스를 등록한다.
- 14라인 : 동적으로 생성되는 HTML코드이다.
- 24라인 : #dynamicHtml에 $scope.RESULT 값을 동적으로 붙여준다.
- 25f라인 : 동적으로 추가된 HTML에서 clickButton()함수는 AngularJS가 인식을 못하는데 인식할 수 있도록 $compile서비스를 이용한다.
<html> <head> <title></title> </head> <body> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script> <script type="text/javascript"> var app = angular.module('MyApp', []) app.controller('myCtrl', function ($scope, $compile) { $scope.dynamicHtml = function () { $scope.RESULT = '<table border="1">' + '<tr>' + ' <td><input type="button" ng-click="clickButton()" value="동적버튼 Action"></td>' + '</tr>' + '<tr>' + ' <td id="message">message...</td>' + '</tr>' + '</table>'; angular.element("#dynamicHtml").html($scope.RESULT); $compile(angular.element("#dynamicHtml").contents())($scope); } $scope.clickButton = function () { $("#message").append("<br/>button clicked..."); } }); </script> <div ng-app="MyApp" ng-controller="myCtrl"> <br /> <div id="dynamicHtml">동적 HTML등록 및 action 추가</div> <br /> <input type="button" value="Dynamic Html append" ng-click="dynamicHtml()" /> </div> </body> </html>
- AngularJS angular.copy 사용법, angular 복사 2019년 5월 17일
- AngularJS fromJson, toJson 사용법 2019년 5월 15일
- AngularJS에서 ng-style사용시 조건문 이용방법 2019년 4월 25일
- AngularJS에서 ng-style사용시 함수 이용방법 2019년 4월 23일
- AngularJS 동적 HTML, Function 추가 2019년 4월 15일
- AngularJS에서 팝업창 띄우기 2019년 4월 2일
- AngularJS 하나의 모듈에 factory 다중 등록 2018년 2월 26일
- AngularJS factory 예제 2018년 2월 26일
- AngularJS forEach ng-repeat 예제 2018년 2월 19일
- AngularJS $http, spring TEXT response 예제 2018년 1월 17일
- AngularJS selectbox 간단한 예제 2018년 1월 15일
- AnuglarJS forEach 예제 2018년 1월 12일
- AngularJS checkbox 제어 및 활성/비활성(ng-disabled) 예제 2018년 1월 8일
- AngularJS button 활성/비활성(ng-disabled) 예제 2018년 1월 8일
- AngularJS radio 활성/비활성(ng-disabled) 예제 2018년 1월 8일
- AngularJS $broadcast, $emit, $on 예제 2018년 1월 3일
- AngularJS – $watch $digest $apply Life Cycle 2017년 12월 26일
- AngularJS $watchCollection 2017년 12월 26일
- AngularJS $watchGroup 2017년 12월 26일
- AngularJS $watch 2017년 12월 26일
- AngularJS 반복문 ng-repeat 2017년 7월 22일
- AngularJS $timeout 2017년 7월 22일
- AngularJS Show/Hide, 보이기/숨기기 2017년 7월 16일
- AngularJS 라디오 버튼 제어 2017년 7월 16일
- AngularJS시작하기, Hello AngularJS 2017년 7월 15일